{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "5fbc2d16-59f9-4be3-b93e-1a5440c7efd0",
   "metadata": {},
   "source": [
    "# Tutorial 4 - Adaptive State Transition"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1afe6a1e-3ab4-4f3f-ad47-f6cd66419504",
   "metadata": {},
   "source": [
    "Having tackled three basic types of problems in the first tutorials, we proceed with a more advanced concept relevant to KANs: grid updates. KANs provide the option of gradually increasing the size of the underlying grid as a fine-graining process. More theoretical details on this can be found [here](https://arxiv.org/abs/2404.19756) or [here](https://ieeexplore.ieee.org/document/10763509). In this notebook, we showcase how jaxKAN allows an adaptive state transition, introduced in [Adaptive Training of Grid-Dependent Physics-Informed Kolmogorov-Arnold Networks](https://ieeexplore.ieee.org/document/10763509), for an example of curve fitting."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "0a2ef2a6-f681-427f-8252-ade2111ce0e6",
   "metadata": {},
   "outputs": [],
   "source": [
    "from jaxkan.KAN import KAN\n",
    "from jaxkan.utils.general import adam_transition\n",
    "\n",
    "import jax\n",
    "import jax.numpy as jnp\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.metrics import mean_squared_error\n",
    "\n",
    "from flax import nnx\n",
    "import optax\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "60e70a5d-0340-4bdc-af4e-150d0098a87e",
   "metadata": {},
   "source": [
    "## Data Generation"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "166ad90d-430e-45ca-86a8-e6e4dbc1c943",
   "metadata": {},
   "source": [
    "We will attempt to fit the multivariate function\n",
    "\n",
    "$$ f(x_1, x_2, x_3, x_4) = \\exp\\left[\\frac{1}{2}\\sin\\left(\\pi x_1^2 + \\pi x_2^2\\right) + \\frac{1}{2}\\sin\\left(\\pi x_3^2 + \\pi x_4^2\\right)\\right] $$\n",
    "\n",
    "To this end, we will sample 4000 points from this function in the $[-1,1]^4$ domain to use for training and testing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "b986e75a-6d4a-402f-bea7-36d13f4a7866",
   "metadata": {},
   "outputs": [],
   "source": [
    "def f(x1,x2,x3,x4):\n",
    "    return jnp.exp(0.5*jnp.sin((jnp.pi * x1**2) + (jnp.pi * x2**2)) + 0.5*jnp.sin((jnp.pi * x3**2) + (jnp.pi * x4**2)))\n",
    "\n",
    "def generate_data(minval=-1, maxval=1, num_samples=1000, seed=42):\n",
    "    key = jax.random.PRNGKey(seed)\n",
    "    x1_key, x2_key, x3_key, x4_key = jax.random.split(key, 4)\n",
    "\n",
    "    x1 = jax.random.uniform(x1_key, shape=(num_samples,), minval=minval, maxval=maxval)\n",
    "    x2 = jax.random.uniform(x2_key, shape=(num_samples,), minval=minval, maxval=maxval)\n",
    "    x3 = jax.random.uniform(x3_key, shape=(num_samples,), minval=minval, maxval=maxval)\n",
    "    x4 = jax.random.uniform(x4_key, shape=(num_samples,), minval=minval, maxval=maxval)\n",
    "\n",
    "    y = f(x1, x2, x3, x4).reshape(-1, 1)\n",
    "    X = jnp.stack([x1, x2, x3, x4], axis=1)\n",
    "    \n",
    "    return X, y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "db8bf4bc-49fe-4014-94aa-4e5dbf632369",
   "metadata": {},
   "outputs": [],
   "source": [
    "seed = 42\n",
    "\n",
    "X, y = generate_data(minval=-1, maxval=1, num_samples=4000, seed=seed)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "485197f9-2e41-481e-a2cd-977452622ff3",
   "metadata": {},
   "source": [
    "## Preprocessing"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c26fac97-6716-47ff-b8db-824df7c6aae2",
   "metadata": {},
   "source": [
    "We split the data into train/test sets."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "ad91a42a-ffe8-4b8c-b1a7-cc9b60dfe5c0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training set size: (3200, 4)\n",
      "Test set size: (800, 4)\n"
     ]
    }
   ],
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=seed)\n",
    "\n",
    "print(\"Training set size:\", X_train.shape)\n",
    "print(\"Test set size:\", X_test.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4e9d9bba-71e2-4d5b-95b1-36167fb70c1a",
   "metadata": {},
   "source": [
    "## KAN Model"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2fd54c6c-3d28-4864-af38-3b22875d0f0a",
   "metadata": {},
   "source": [
    "To showcase the adaptive state transition, we will use the Base KAN Layer, which corresponds to the original implementation of KANs using B-Splines. For more details about the required parameters of this type of layer, refer to the API Documentation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "b350b56f-5daa-411f-9090-b544760c34ef",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Initialize a KAN model\n",
    "n_in = X_train.shape[1]\n",
    "n_out = y_train.shape[1]\n",
    "n_hidden = 10\n",
    "\n",
    "layer_dims = [n_in, n_hidden, n_out]\n",
    "\n",
    "req_params = {'k': 3, 'G': 3, 'grid_e': 0.02}\n",
    "\n",
    "model = KAN(layer_dims = layer_dims,\n",
    "            layer_type = 'base',\n",
    "            required_parameters = req_params,\n",
    "            seed = seed\n",
    "           )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f681d135-c885-4e59-87d7-1ea16a157c50",
   "metadata": {},
   "source": [
    "## Training"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9d13db44-addd-498f-b9b3-592f2df78643",
   "metadata": {},
   "source": [
    "The model will be trained for a total of 700 epochs with a constant learning rate of 0.06, starting with a grid of size $G = 3$. The grid will be extended to sizes $G \\to 6 \\to 10 \\to 24$ during epochs 200, 400 and 600, respectively."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "36aad19f-0067-4a4d-8243-7e704e4533b1",
   "metadata": {},
   "outputs": [],
   "source": [
    "opt_type = optax.adam(learning_rate=0.06)\n",
    "\n",
    "optimizer = nnx.Optimizer(model, opt_type)\n",
    "\n",
    "grid_upds = {0 : 3, 200 : 6, 400 : 10, 600 : 24}"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f01566cd-055c-40a7-acdd-94ac192a0bcb",
   "metadata": {},
   "source": [
    "### Without Adaptive State Transition"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9044aebb-696d-42df-956f-9aa94078588c",
   "metadata": {},
   "source": [
    "We will first train the model without the adaptive state transition."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "f18ab849-3c05-418a-a30b-3928f77c332d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define train loop\n",
    "@nnx.jit\n",
    "def train_step(model, optimizer, X_train, y_train):\n",
    "\n",
    "    def loss_fn(model):\n",
    "        residual = model(X_train) - y_train\n",
    "        loss = jnp.mean((residual)**2)\n",
    "\n",
    "        return loss\n",
    "    \n",
    "    loss, grads = nnx.value_and_grad(loss_fn)(model)\n",
    "    optimizer.update(grads)\n",
    "    \n",
    "    return loss"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "15698049-2246-458a-9a0b-9e0c0c4c6485",
   "metadata": {},
   "source": [
    "We start training without performing the adaptive state transition technique and then plot the training losses and a final evaluation score to keep as reference."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b06282a5-8899-4801-9c9e-d8b73b55d74a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 0: Performing grid update\n",
      "Epoch 200: Performing grid update\n",
      "Epoch 400: Performing grid update\n",
      "Epoch 600: Performing grid update\n"
     ]
    }
   ],
   "source": [
    "# Initialize train_losses\n",
    "num_epochs = 700\n",
    "train_losses = jnp.zeros((num_epochs,))\n",
    "\n",
    "for epoch in range(num_epochs):\n",
    "    # Check if we're in an update epoch\n",
    "    if epoch in grid_upds.keys():\n",
    "        print(f\"Epoch {epoch}: Performing grid update\")\n",
    "        # Get grid size\n",
    "        G_new = grid_upds[epoch]\n",
    "        # Perform the update\n",
    "        model.update_grids(X_train, G_new)\n",
    "        # Reset optimizer\n",
    "        optimizer = nnx.Optimizer(model, opt_type)\n",
    "        \n",
    "    # Calculate the loss\n",
    "    loss = train_step(model, optimizer, X_train, y_train)\n",
    "    \n",
    "    # Append the loss\n",
    "    train_losses = train_losses.at[epoch].set(loss)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "394c9a28-c953-4b6d-a51d-f5f2ed6e518d",
   "metadata": {},
   "source": [
    "First, let's evaluate the model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "0859d7a3-bc75-4c0e-a0e2-c3477be29c34",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The MSE of the fit is 0.00511\n"
     ]
    }
   ],
   "source": [
    "y_pred = model(X_test)\n",
    "mse = mean_squared_error(y_pred, y_test)\n",
    "\n",
    "print(f\"The MSE of the fit is {mse:.5f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6cc57df4-7971-446e-a0e7-4fd1289381b5",
   "metadata": {},
   "source": [
    "Now, let's visualize the training loss during training."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "86630d29-9b9f-452a-b2f1-399b02768829",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnAAAAGJCAYAAAAKZg7vAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAApPtJREFUeJzsnXdYVGf2x79TgKEXaSIoCFIE6aAx1Q2mGRNNshqNsaUnZlM3m+xuEk3Z/NJMNgnp9kSjyUbTiymu2RipIoKAgjRBmtQBhmFm7u+PYa4M915AYObegfN5Hh6dO5d7D985886Z9z3nvDKGYRgQBEEQBEEQNoNcbAMIgiAIgiCI84MCOIIgCIIgCBuDAjiCIAiCIAgbgwI4giAIgiAIG4MCOIIgCIIgCBuDAjiCIAiCIAgbgwI4giAIgiAIG4MCOIIgCIIgCBuDAjiCIAiCIAgbgwI4giDMWL16NYKDg0f0u+vXr4dMJhtbgwhiCEx+19TUJLYpBGE1KIAjCBtBJpMN6+fAgQNimyoKq1evhouLi9hmDAuGYbBjxw5ccskl8PDwgJOTE2bNmoVnnnkGnZ2dYpvHwRQgCf3U1dWJbSJBTDiUYhtAEMTw2LFjh9nj7du3Y//+/ZzjUVFRo7rPBx98AIPBMKLf/ec//4nHH398VPcf7+j1eixfvhx79uzBxRdfjPXr18PJyQm//fYbNmzYgE8//RQ//fQT/Pz8xDaVwzvvvMMbJHt4eFjfGIKY4FAARxA2wooVK8weHz58GPv37+ccH0hXVxecnJyGfR87O7sR2QcASqUSSiUNK4Px0ksvYc+ePXj00Ufx8ssvs8fvvPNOLFmyBIsWLcLq1avx3XffWdWu4fjJTTfdBG9vbytZRBDEYNASKkGMIy677DLExMQgJycHl1xyCZycnPD3v/8dAPDFF19gwYIFCAgIgIODA0JDQ/Hss89Cr9ebXWNgDlxFRQVkMhleeeUVvP/++wgNDYWDgwNSUlKQlZVl9rt8OXAymQzr1q3Dvn37EBMTAwcHB0RHR+P777/n2H/gwAEkJydDpVIhNDQU77333pjn1X366adISkqCo6MjvL29sWLFCtTU1JidU1dXhzVr1iAwMBAODg6YPHkyrr/+elRUVLDnZGdn48orr4S3tzccHR0REhKCtWvXDnrv7u5uvPzyywgPD8cLL7zAeX7hwoVYtWoVvv/+exw+fBgAcO2112L69Om817vggguQnJxsduyjjz5i/z4vLy/cfPPNqK6uNjtnMD8ZDQcOHIBMJsPu3bvx97//Hf7+/nB2dsZ1113HsQEY3msBAMXFxViyZAl8fHzg6OiIiIgI/OMf/+Cc19raitWrV8PDwwPu7u5Ys2YNurq6zM7Zv38/LrroInh4eMDFxQURERFj8rcThLWhr8oEMc44e/Ysrr76atx8881YsWIFuxS3detWuLi44OGHH4aLiwt++eUXPPXUU2hvbzebCRJi586d6OjowF133QWZTIaXXnoJN9xwA06dOjXkrN3//vc/fP7557j33nvh6uqKN954AzfeeCOqqqowadIkAMCRI0dw1VVXYfLkydiwYQP0ej2eeeYZ+Pj4jF6UPrZu3Yo1a9YgJSUFL7zwAurr6/Hvf/8bv//+O44cOcIuBd54440oLCzE/fffj+DgYDQ0NGD//v2oqqpiH19xxRXw8fHB448/Dg8PD1RUVODzzz8fUoeWlhY88MADgjOVK1euxJYtW/D1119jzpw5WLp0KVauXImsrCykpKSw51VWVuLw4cNmr93zzz+PJ598EkuWLMHtt9+OxsZGvPnmm7jkkkvM/j5A2E8Go7m5mXNMqVRyllCff/55yGQy/O1vf0NDQwNef/11pKWlIS8vD46OjgCG/1rk5+fj4osvhp2dHe68804EBwejrKwMX331FZ5//nmz+y5ZsgQhISF44YUXkJubiw8//BC+vr548cUXAQCFhYW49tprERsbi2eeeQYODg4oLS3F77//PuTfThCSgyEIwia57777mIFv4UsvvZQBwLz77ruc87u6ujjH7rrrLsbJyYnRaDTssVWrVjHTpk1jH5eXlzMAmEmTJjHNzc3s8S+++IIBwHz11VfssaeffppjEwDG3t6eKS0tZY8dPXqUAcC8+eab7LGFCxcyTk5OTE1NDXvs5MmTjFKp5FyTj1WrVjHOzs6Cz2u1WsbX15eJiYlhuru72eNff/01A4B56qmnGIZhmJaWFgYA8/LLLwtea+/evQwAJisra0i7+vP6668zAJi9e/cKntPc3MwAYG644QaGYRimra2NcXBwYB555BGz81566SVGJpMxlZWVDMMwTEVFBaNQKJjnn3/e7Lxjx44xSqXS7PhgfsKH6XXl+4mIiGDP+/XXXxkAzJQpU5j29nb2+J49exgAzL///W+GYYb/WjAMw1xyySWMq6sr+3eaMBgMHPvWrl1rds7ixYuZSZMmsY9fe+01BgDT2Ng4rL+bIKQMLaESxDjDwcEBa9as4Rw3zXwAQEdHB5qamnDxxRejq6sLxcXFQ1536dKl8PT0ZB9ffPHFAIBTp04N+btpaWkIDQ1lH8fGxsLNzY39Xb1ej59++gmLFi1CQEAAe15YWBiuvvrqIa8/HLKzs9HQ0IB7770XKpWKPb5gwQJERkbim2++AWDUyd7eHgcOHEBLSwvvtUyzQ19//TV6e3uHbUNHRwcAwNXVVfAc03Pt7e0AADc3N1x99dXYs2cPGIZhz9u9ezfmzJmDqVOnAgA+//xzGAwGLFmyBE1NTeyPv78/ZsyYgV9//dXsPkJ+Mhj/+c9/sH//frOfLVu2cM5buXKl2d940003YfLkyfj2228BDP+1aGxsxMGDB7F27Vr27zTBt6x+9913mz2++OKLcfbsWVZL0+v2xRdfjLhQhyCkAgVwBDHOmDJlCuzt7TnHCwsLsXjxYri7u8PNzQ0+Pj5sAURbW9uQ1x34AWoK5oSCnMF+1/T7pt9taGhAd3c3wsLCOOfxHRsJlZWVAICIiAjOc5GRkezzDg4OePHFF/Hdd9/Bz88Pl1xyCV566SWzVhmXXnopbrzxRmzYsAHe3t64/vrrsWXLFvT09AxqgymoMQVyfPAFeUuXLkV1dTX++OMPAEBZWRlycnKwdOlS9pyTJ0+CYRjMmDEDPj4+Zj9FRUVoaGgwu4+QnwzGJZdcgrS0NLOfCy64gHPejBkzzB7LZDKEhYWxOYTDfS1MAX5MTMyw7BvKR5cuXYoLL7wQt99+O/z8/HDzzTdjz549FMwRNgkFcAQxzug/02aitbUVl156KY4ePYpnnnkGX331Ffbv38/mBg3nA0yhUPAe7z8rZInfFYMHH3wQJ06cwAsvvACVSoUnn3wSUVFROHLkCABjQPLZZ5/hjz/+wLp161BTU4O1a9ciKSkJarVa8LqmFi/5+fmC55iemzlzJnts4cKFcHJywp49ewAAe/bsgVwux5///Gf2HIPBAJlMhu+//54zS7Z//3689957Zvfh8xNbZyg/c3R0xMGDB/HTTz/h1ltvRX5+PpYuXYr58+dzinkIQupQAEcQE4ADBw7g7Nmz2Lp1Kx544AFce+21SEtLM1sSFRNfX1+oVCqUlpZynuM7NhKmTZsGACgpKeE8V1JSwj5vIjQ0FI888gh+/PFHFBQUQKvV4tVXXzU7Z86cOXj++eeRnZ2Njz/+GIWFhfjkk08EbTBVP+7cuVMwYNi+fTsAY/WpCWdnZ1x77bX49NNPYTAYsHv3blx88cVmy82hoaFgGAYhISGcWbK0tDTMmTNnCIXGjpMnT5o9ZhgGpaWlbHXzcF8LU/VtQUHBmNkml8tx+eWXY+PGjTh+/Dief/55/PLLL5wlZoKQOhTAEcQEwDQz0X/GS6vV4u233xbLJDMUCgXS0tKwb98+1NbWssdLS0vHrB9acnIyfH198e6775otdX733XcoKirCggULABj7oWk0GrPfDQ0NhaurK/t7LS0tnNnD+Ph4ABh0GdXJyQmPPvooSkpKeNtgfPPNN9i6dSuuvPJKTsC1dOlS1NbW4sMPP8TRo0fNlk8B4IYbboBCocCGDRs4tjEMg7NnzwraNdZs377dbJn4s88+w5kzZ9h8xuG+Fj4+PrjkkkuwefNmVFVVmd1jJLO3fFW0w3ndCEKKUBsRgpgAzJ07F56enli1ahX+8pe/QCaTYceOHZJawly/fj1+/PFHXHjhhbjnnnug1+vx1ltvISYmBnl5ecO6Rm9vL5577jnOcS8vL9x777148cUXsWbNGlx66aVYtmwZ27oiODgYDz30EADgxIkTuPzyy7FkyRLMnDkTSqUSe/fuRX19PW6++WYAwLZt2/D2229j8eLFCA0NRUdHBz744AO4ubnhmmuuGdTGxx9/HEeOHMGLL76IP/74AzfeeCMcHR3xv//9Dx999BGioqKwbds2zu9dc801cHV1xaOPPgqFQoEbb7zR7PnQ0FA899xzeOKJJ1BRUYFFixbB1dUV5eXl2Lt3L+688048+uijw9JRiM8++4x3J4b58+ebtSHx8vLCRRddhDVr1qC+vh6vv/46wsLCcMcddwAwNosezmsBAG+88QYuuugiJCYm4s4770RISAgqKirwzTffDNsvTDzzzDM4ePAgFixYgGnTpqGhoQFvv/02AgMDcdFFF41MFIIQC1FqXwmCGDVCbUSio6N5z//999+ZOXPmMI6OjkxAQADz2GOPMT/88AMDgPn111/Z84TaiPC11QDAPP300+xjoTYi9913H+d3p02bxqxatcrs2M8//8wkJCQw9vb2TGhoKPPhhx8yjzzyCKNSqQRUOMeqVasEW12Ehoay5+3evZtJSEhgHBwcGC8vL+aWW25hTp8+zT7f1NTE3HfffUxkZCTj7OzMuLu7M7Nnz2b27NnDnpObm8ssW7aMmTp1KuPg4MD4+voy1157LZOdnT2knQzDMHq9ntmyZQtz4YUXMm5uboxKpWKio6OZDRs2MGq1WvD3brnlFgYAk5aWJnjOf/7zH+aiiy5inJ2dGWdnZyYyMpK57777mJKSEvacwfyEj8HaiPT3H1MbkV27djFPPPEE4+vryzg6OjILFizgtAFhmKFfCxMFBQXM4sWLGQ8PD0alUjERERHMk08+ybFvYHuQLVu2MACY8vJyhmGM/nX99dczAQEBjL29PRMQEMAsW7aMOXHixLC1IAipIGMYCX0FJwiCGMCiRYtQWFjIyasipMeBAwcwb948fPrpp7jpppvENocgxjWUA0cQhGTo7u42e3zy5El8++23uOyyy8QxiCAIQqJQDhxBEJJh+vTpWL16NaZPn47Kykq88847sLe3x2OPPSa2aQRBEJKCAjiCICTDVVddhV27dqGurg4ODg644IIL8K9//YvTGJYgCGKiQzlwBEEQBEEQNgblwBEEQRAEQdgYFMARBEEQBEHYGJQDNwgGgwG1tbVwdXWFTCYT2xyCIAiCIMY5DMOgo6MDAQEBkMuF59kogBuE2tpaBAUFiW0GQRAEQRATjOrqagQGBgo+TwHcILi6ugIwiujm5max+2RnZyM5Odli17dlSBt+SBdhSBt+SBdhSBt+SBdhLKlNe3s7goKC2BhECArgBsG0bOrm5mbRAM7Z2dmi17dlSBt+SBdhSBt+SBdhSBt+SBdhrKHNUKlb1EZkENrb2+Hu7o62tjaLvlAMw1COnQCkDT+kizCkDT+kizCkDT+kizCW1Ga4sQdVoUqAvLw8sU2QLKQNP6SLMKQNP6SLMKQNP6SLMFLQhgI4CaDVasU2QbKQNvyQLsKQNvyQLsKQNvyQLsJIQRvKgeMhPT0d6enp0Ov1AIzJis7OzkhMTERRURG6u7vh6uqKkJAQ5OfnAwCmTZsGg8GA6upqAEB8fDxKS0uhVqvh7OyM8PBwHDlyBAAQGBgIhUKByspKAMa19KKiIrS3t0OlUiE6Oho5OTkAgICAAKhUKpw6dQoAEBMTg9OnT6O1tRX29vaIj49HZmYmAMDf3x8uLi4oLS0FAERFRaG+vh7Nzc1QKpVISkpCZmYmGIaBj48PPD09ceLECQBAREQEmpub0djYCLlcjpSUFGRnZ0Ov12PSpEnw9fVFUVERAGDGjBlob29HfX09AGD27NnIzc1Fb28vPD09ERAQgMLCQgBAaGgourq6cObMGQBAcnIyCgoKoNFo4O7ujqlTp+LYsWMAgODgYOh0Opw+fRoAkJiYiJ6eHmRkZMDFxQWhoaE4evQoAGDq1KkAgKqqKgBAXFwcysrKoFar4eTkhMjISOTm5rJ6K5VKVFRUAABmzZqFqqoqtLW1QaVSISYmBtnZ2QCAyZMnw8nJCWVlZQCA6Oho1NbWoqWlBXZ2dkhMTERGRgYAwM/PD25ubjh58iSrd0NDA86ePQuFQoHk5GRkZWXBYDDAx8cHXl5eKCkpAQCEh4ejpaUFjY2NkMlkSE1NRU5ODnQ6Hby8vODn58fqHRYWBrVajbq6OgBAamoquru7kZGRAQ8PDwQGBqKgoACAcS9RjUaD2tpaAEBSUhIKCwuh0Wjg5uaG4OBgM5/V6/Ws3gkJCThx4gQ6Ozvh4uKCsLAw9ltmUFAQ5HI567OxsbEoLy9HR0cHHB0dERUVxeo9ZcoU2Nvbo7y8nNW7uroara2tcHBwQGxsLLKyslifdXZ2ZvWeOXMm6urq0NzczNHb19cX7u7urN6RkZFoampCU1MT67NZWVlQq9UoKyuDt7c3iouLWZ9ta2tDQ0MDx2e9vLzg7++P48ePsz7b2dnJ6p2SkoL8/Hz09PTAw8MDQUFBrM+GhIRAq9WipqaG9VlLjBGxsbGoqKgY1RihVqtRWVk57saI4uJidHV1jWqMkMvlqK+vl/QYkZKSgtzcXOh0Ori7u8Pb25u1YerUqejq6kJTUxPrL0VFRejt7YWbmxv8/PxYG4KCgtDT08O+F6Kjo1FaWoqenh64uLhgypQprA1KpRKVlZXseyEqKgoVFRXo7u6Gk5MTpk2bxr7mkydPhkwmY8eeiIgInD59Gp2dnVCpVJg+fTr7HvPz84OdnR37OoaHh6Ourg7t7e2wt7dHREQE+5p7e3vDycmJfR3DwsLQ2NiItrY2KJVKREdHs6/5pEmT4OLiwr5vpk+fjpaWFrS0tEAul2PWrFk4duwYDAYDPD094enpyb5vpk2bBrVajbNnz7L+UlhYyOrt4+PDvm9MvmV6nWfNmoWSkhJotVq4ubnB39+ffd8EBgait7eXfS9ER0ejrKwMGo1GcIwwjVtDQTlwg2CtHLjOzk44Oztb7Pq2DGnDD+kiDGnDD+kijNS10Wq1OHPmDLq6uqx6X4PBMGgfsonMaLVxcnLC5MmTYW9vz3luuLEHzcBJgIKCAsyePVtsMyQJacMP6SIMacMP6SKMlLUxGAwoLy+HQqFAQEAA7O3trVZYIPXAVkxGqg3DMNBqtWhsbER5eTlmzJgx4kCQAjiCIAiCkCharRYGgwFBQUFwcnKy6r11Oh1UKpVV72krjEYbR0dH2NnZobKyElqtdsTXoblRCTB9+nSxTZAspA0/pIswpA0/pIswtqCNGEuZDg4OVr+nrTBabcbi9aQATgJoNBqxTZAspA0/pIswpA0/pIswpA0/lCIvjBS0oQBOZH49UoV9/y2Culv8kmQpYqpoIswhXYQhbfghXYQhbfiRQqsMqSIFbSiAE5kH3/gVb35bjU3fFIhtCkEQBEFIluDgYLz++utimyEZKIATmR6tDgDw6S/D6/sy0UhKShLbBElCughD2vBDughD2vAz0gpUmUw26M/69etHdN2srCzceeedI/pdE5dddhkefPDBUV0DGLk2YwlVofJgzUa+9ko5NL0GXBrthYyMDGrkO6BJ52+//QZnZ2dq5Dugke9///tfuLi4UCNfnka+LS0tCA0NpUa+A8aItrY2REREjLsxYiwa+er1eoSGhkp2jDAlzHd2doJhGCiVStjZ2aG7uxsAoFKpoNfr0dvbC8AYXHR3d8NgMHDOdXBwYFtZDDxXoVDAwcHBrN+cvb09e66TkxN6enqg1+s555ram/T09KC0tBSOjo7o6enBp59+iueff559XwCAp6cnent70dPTA4ZhYG9vD4ZhoNPpIJfL4ejoiM7OTgCAnZ0d5HI5enp64OjoCAcHB2g0Guh0OshkMjg7O0OtVrPnKhQKNqdRpVJBp9OZnWvSSaPRQKlUmp3bX0MXFxdBvU02mNq5nI/eTk5O0Gg06O7uZu0w+ez5NvIFQwjS1tbGAGDa2tosdo+L7tvJzFj2IVNwqtFi97BlDh8+LLYJkoR0EYa04Yd0EUbK2nR3dzPHjx9nuru7GYZhGIPBwHR2a63y09DUYvbYYDCct/1btmxh3N3d2ce//vorA4D59ttvmcTERMbOzo759ddfmdLSUua6665jfH19GWdnZyY5OZnZv3+/2bWmTZvGvPbaa+xjAMwHH3zALFq0iHF0dGTCwsKYL774YlB7Lr30UuaBBx4QfP6zzz5jZs6cydjb2zPTpk1jXnnlFbPn09PTmbCwMMbBwYHx9fVlbrzxRva5Tz/9lImJiWFUKhXj5eXFXH755Yxarea9z8DXtT/DjT1oBk5kFHJjBK83iF/RIkUsuQOGLUO6CEPa8EO6CGNL2nT36BC/drso987bvBJOKrsxudbjjz+OV155BdOnT4enpyeqq6txzTXX4Pnnn4eDgwO2b9+OhQsXoqSkhJ1N5WPDhg146aWX8PLLL+PNN9/ELbfcgsrKSnh5eZ23TTk5OViyZAnWr1+PpUuX4tChQ7j33nsxadIkrF69GtnZ2fjLX/6CHTt2IDExEV1dXfjtt98AAGfOnMGyZcvw0ksvYfHixejo6MBvv/1m0WpVCuBERi4zpiEaKIDjJTg4WGwTJAnpIgxpww/pIgxpY32eeeYZzJ8/n33s5eWFuLg49vGzzz6LvXv34ssvv8S6desEr7N69WosW7YMAPCvf/0Lb7zxBjIzM3HVVVedt00bN27E5ZdfjieffBKAcRn7+PHjePnll7F69WpUVVXB2dkZ1157LZydnSGXy5GQkADAGMDpdDrccMMNmDZtGgDjUrwloQBOZJQKmoEbjPz8fMlucSMmpIswpA0/pIswtqSNo4MSeZtXjuh3P/21BJu/LcDaa2Lw53kRQ54/cLsoR4exCxmSk5PNHqvVaqxfvx7ffPMNGwx1d3ezOYxCxMbGsv93dnaGm5sbm+t6vhQVFeH66683O3bhhRfi9ddfh16vx/z58zFt2jRMnz4daWlpuPbaa7F48WI4OTkhLi4Ol19+OWbNmoUrr7wSV1xxBW666SZ4enqOyJbhQAGcyMjZJVSDyJYQBEEQUkcmk414GXPV1TFYdXXMsM836JRjtmQ6kIFVnI8++ij279+PV155BWFhYXB0dMRNN900ZL81Oztz+2QyGQwW+jx1dXVFbm4uDhw4gK+//hpPPfUU1q9fj6ysLHh4eGD//v04dOgQfvzxR7z55pv4xz/+gYyMDISEhFjEHmojIjKUAzc4pqlowhzSRRjShh/SRRjShh9rbqX1+++/Y/Xq1Vi8eDFmzZoFf39/tirYWkRFReH333/n2BUeHg6FQgEAUCqVSEtLw8svv4z8/HxUVFTgl19+AWAMHi+88EJs2LABR44cgb29Pfbu3Wsxe2kGTmRM+6FRDhw/plYuhDmkizCkDT+kizCkDT+WTMAfyIwZM/D5559j4cKFkMlkePLJJy02k9bY2Mi2SDIxefJkPPLII0hJScGzzz6LpUuX4o8//sBbb72Ft99+GwDw9ddf49SpU7jkkkvg7OyMn376CQaDAREREcjIyMDPP/+MK664Ar6+vsjIyEBjYyOioqIs8jcANAMnOjQDNzimfk+EOaSLMKQNP6SLMKQNP9bcLmrjxo3w9PTE3LlzsXDhQlx55ZVITEy0yL127tyJhIQEs58PPvgAiYmJ2LNnDz755BPExMTgqaeewjPPPIPVq1cDADw8PPD555/jT3/6E+Li4vDuu+9i165diI6OhpubGw4ePIhrrrkG4eHh+Oc//4lXX30VV199tUX+BoBm4ESHcuAIgiCI8crq1avZAAgw7oTAN7MXHBzMLkWauO+++8weD1xS5btOa2vroPYcOHBg0OdvvPFG3HjjjbzPXXTRRezvq9VquLi4sM9FRUXh+++/H/TaYw0FcDxYcyeG7i5jt+nKympkaM/QTgwDuqw7ODggIyODdmIYsBODUqlERkYG7cTAsxODwWBAWVkZ7cQwYIwwGAyorKwcd2PEWOzE4O/vj/r6esmOEWLtxGDaheF8d2IYeK5cLodKpRI819HREb29vUPuxDDw3JHsxNBfw9HsxGBnZ8feV6ydGGSMNRe5bYz29na4u7ujra3NYo0eb17/NXJP1OPNBy/HlanBFrmHLVNQUICYmOFXTU0USBdhSBt+SBdhpKyNRqNBeXk5QkJCoFKprHrv7u5uODo6WvWetsJotRnsdR1u7EE5cCJjyoGjIgZ+TN/CCHNIF2FIG35IF2FIG36ouEMYKWhDAZzIKCgHblD65xgQ5yBdhCFt+CFdhCFt+DG1ziC4SEEbCuBERk4zcIMSFhYmtgmShHQRhrThh3QRxha0ESPbyZp94GyN0WozFq8nBXAiQ21EBmdgrx7CCOkiDGnDD+kijJS1Me00YCoAsCZi3NNWGK02pt8fuJPE+UBVqCJDM3AEQRCEEAqFAh4eHmwFtZOTE2QymVXu3dPTA6WSwgQ+RqoNwzDo6upCQ0MDPDw8RrUUS6+MyCj6dmLQUzEwL0FBQWKbIElIF2FIG35IF2Gkro2/vz8AjHiT9pFiahdCcBmtNh4eHuzrOlIogBMZhaJvCVVPRQx8mLYaI8whXYQhbfghXYSRujYymQyTJ0+Gr68v26fMGjQ2NsLHx8dq97MlRqONqV/daKEATmQUMsqBG4zKyspRf0sZj5AuwpA2/JAuwtiKNgqFwqozYrW1tZKfnRQLKWgj7a8dEwDKgSMIgiAI4nyhAE5k2Bw4CuB4iY2NFdsESUK6CEPa8EO6CEPa8EO6CCMFbSiAExmagRsc036ahDmkizCkDT+kizCkDT+kizBS0IYCOJGhnRgGp6OjQ2wTJAnpIgxpww/pIgxpww/pIowUtKEATmTYKlSageOFNlLmh3QRhrThh3QRhrThh3QRRgraUAAnMpQDNzhRUVFimyBJSBdhSBt+SBdhSBt+SBdhpKANtRHhIT09Henp6dDr9QCA7OxsODs7IzExEUVFReju7oarqytCQkKQn58PAJg2bRoMBgOqq6sBAPHx8SgtLYVarYazszPCw8Nx5MgRAEBgYCAUCgUqKyvR2GhszFhf34CMjAyoVCpER0cjJycHABAQEACVSoVTp04BAGJiYnD69Gm0trbC3t4e8fHxyMzMBGBs9uji4oLS0lIARgerr69Hc3MzlEolkpKSkJmZCYZh4OPjA09PT5w4cQIAEBERgebmZjQ2NkIulyMlJQXZ2dnQ6/WYNGkSfH19UVRUBACYMWMG2tvbUV9fDwCYPXs2cnNz0dvbC09PTwQEBKCwsBAAEBoaiq6uLpw5cwYAkJycjIKCAmg0Gri7u2Pq1Kk4duwYACA4OBg6nQ6nT58GACQmJuLAgQNwc3ODi4sLQkNDcfToUQDA1KlTAQBVVVUAgLi4OJSVlUGtVsPJyQmRkZHIzc1l9VYqlaioqAAAzJo1C1VVVWhra4NKpUJMTAyys7MBAJMnT4aTkxPKysoAANHR0aitrUVLSwvs7OyQmJiIjIwMAICfnx/c3Nxw8uRJVu+GhgacPXsWCoUCycnJyMrKgsFggI+PD7y8vFBSUgIACA8PR0tLCxobGyGTyZCamoqcnBzodDp4eXnBz8+P1TssLAxqtRp1dXUAgNTUVPz6669wd3eHh4cHAgMDUVBQAACYPn06NBoNamtrAQBJSUkoLCyERqOBm5sbgoODzXxWr9ezeickJODEiRPo7OyEi4sLwsLC2C2GgoKCIJfLUVlZCcCYwFteXo6Ojg44OjoiKiqK1XvKlCmwt7dnc0RmzZqF6upqtLa2wsHBAbGxscjKymJ91tnZmdV75syZqKurQ3NzM0dvX19fuLu7s3pHRkaiqakJTU1NrM9mZWXh7NmzmDFjBry9vVFcXMz6bFtbG9sItb/Penl5wd/fH8ePH2d9trOzk9U7JSUF+fn56OnpgYeHB4KCglifDQkJgVarRU1NDeuzYz1GmPSuqKhAe3v7iMeIlpYWREVFjbsxori4GF1dXaMaI7q7uxEVFTWuxoi8vDxotdpRjREajQZhYWHjbowwGAzw9vYe1Rhx7NgxODk5ARj7McJk01DIGDF2yLUR2tvb4e7ujra2Nri5uVnkHs9u+wM7fjiOexbF4aElyRa5hy2TkZGB2bNni22G5CBdhCFt+CFdhCFt+CFdhLGkNsONPWgJVWRoM/vBmTJlitgmSBLSRRjShh/SRRjShh/SRRgpaEMBnMhQG5HBsbe3F9sESUK6CEPa8EO6CEPa8EO6CCMFbSiAExmagRscKfTakSKkizCkDT+kizCkDT+kizBS0IYCOJFhq1BpM3uCIAiCIIYJBXAiQzNwgzNr1iyxTZAkpIswpA0/pIswpA0/pIswUtCGAjiRoRy4wTG1XCDMIV2EIW34IV2EIW34IV2EkYI2FMCJDM3ADU5ra6vYJkgS0kUY0oYf0kUY0oYf0kUYKWhDAZzIyPty4AzUjo8XBwcHsU2QJKSLMKQNP6SLMKQNP6SLMFLQhgI4kaEZuMGJjY0V2wRJQroIQ9rwQ7oIQ9rwQ7oIIwVtKIATGTkbwFEVKh+m7VQIc0gXYUgbfkgXYUgbfkgXYaSgDQVwIqM0BXB6moEjCIIgCGJ4UAAnMmwOHC2h8uLv7y+2CZKEdBGGtOGHdBGGtOGHdBFGCtpQACcylAM3OM7OzmKbIElIF2FIG35IF2FIG35IF2GkoA0FcCJDOXCDU1ZWJrYJkoR0EYa04Yd0EYa04Yd0EUYK2lAAJzIKauRLEARBEMR5QgGcyNAS6uDMnDlTbBMkCekiDGnDD+kiDGnDD+kijBS0oQBOZBSKvs3saQmVl7q6OrFNkCSkizCkDT+kizCkDT+kizBS0IYCOJGhGbjBaW5uFtsESUK6CEPa8EO6CEPa8EO6CCMFbcZ9APf1118jIiICM2bMwIcffii2ORxoM/vBsbOzE9sESUK6CEPa8EO6CEPa8EO6CCMFbWQMM3434dTpdJg5cyZ+/fVXuLu7IykpCYcOHcKkSZOG9fvt7e1wd3dHW1sb3NzcLGLjD5nluP/1X5AU4YddT19rkXsQBEEQBGEbDDf2GNczcJmZmYiOjsaUKVPg4uKCq6++Gj/++KPYZpkhl9EM3GBkZGSIbYIkIV2EIW34IV2EIW34IV2EkYI2kg7gDh48iIULFyIgIAAymQz79u3jnJOeno7g4GCoVCrMnj0bmZmZ7HO1tbWYMmUK+3jKlCmoqamxhunDRiE3FTFQAEcQBEEQxPCQdADX2dmJuLg4pKen8z6/e/duPPzww3j66aeRm5uLuLg4XHnllWhoaLCypSOHcuAGx9fXV2wTJAnpIgxpww/pIgxpww/pIowUtJF0AHf11Vfjueeew+LFi3mf37hxI+644w6sWbMGM2fOxLvvvgsnJyds3rwZABAQEGA241ZTU4OAgADB+/X09KC9vd3sx9IoFcYATkdtRHhxd3cX2wRJQroIQ9rwQ7oIQ9rwQ7oIIwVtlGIbMFK0Wi1ycnLwxBNPsMfkcjnS0tLwxx9/AABSU1NRUFCAmpoauLu747vvvsOTTz4peM0XXngBGzZs4BzPzs6Gs7MzEhMTUVRUhO7ubri6uiIkJAT5+fkAgGnTpsFgMKC6uhoAEB8fj9LSUqjVajg7OyM8PBxHjhwBAAQGBkKhUKCyshInqtQAgO4uDTIyMqBSqRAdHY2cnBwAxiBUpVLh1KlTAICYmBicPn0ara2tsLe3R3x8PLts7O/vDxcXF5SWlgIAoqKiUF9fj+bmZiiVSiQlJSEzMxMMw8DHxweenp44ceIEACAiIgLNzc1obGyEXC5HSkoKsrOzodfrMWnSJPj6+qKoqAgAMGPGDLS3t6O+vh4AMHv2bOTm5qK3txeenp4ICAhAYWEhACA0NBRdXV04c+YMACA5ORkFBQXQaDRwd3fH1KlTcezYMQBAcHAwdDodTp8+DQBITExETk4O3Nzc4OLigtDQUBw9ehQAMHXqVABAVVUVACAuLg5lZWVQq9VwcnJCZGQkcnNzWb2VSiUqKioAALNmzUJVVRXa2tqgUqkQExOD7OxsAMDkyZPh5OTEbpMSHR2N2tpatLS0wM7ODomJiWzug5+fH9zc3HDy5ElW74aGBpw9exYKhQLJycnIysqCwWCAj48PvLy8UFJSAgAIDw9HS0sLGhsbIZPJkJqaipycHOh0Onh5ecHPz4/VOywsDGq1mu07lJqaiuzsbLi7u8PDwwOBgYEoKCgAAEyfPh0ajQa1tbUAgKSkJBQWFkKj0cDNzQ3BwcFmPqvX61m9ExIScOLECXR2dsLFxQVhYWHIy8sDAAQFBUEul6OyshIAEBsbi/LycnR0dMDR0RFRUVGs3lOmTIG9vT3Ky8tZvaurq9Ha2goHBwfExsYiKyuL9VlnZ2dW75kzZ6Kurg7Nzc0cvX19feHu7s7qHRkZiaamJjQ1NbE+m5WVhbNnz2LGjBnw9vZGcXEx67NtbW3s7Hx/n/Xy8oK/vz+OHz/O+mxnZyerd0pKCvLz89HT0wMPDw8EBQWxPhsSEgKtVst+UbTEGGHSu6KiAu3t7SMeI1paWhAVFTXuxoji4mJ0dXWNaozo7u5GVFTUuBoj8vLyoNVqRzVGaDQahIWFjbsxwmAwwNvbe1RjxLFjx+Dk5ARg7McIk01DwtgIAJi9e/eyj2tqahgAzKFDh8zO++tf/8qkpqayj7/44gtmxowZTGhoKPPee+8Neg+NRsO0tbWxP9XV1QwApq2tbUz/lv4cLqxlZiz7kLnq0c8sdg9b5vDhw2KbIElIF2FIG35IF2FIG35IF2EsqU1bW9uwYg+bnYEbLtdddx2uu+66YZ3r4OAABwcHC1tkDuXADU5kZKTYJkgS0kUY0oYf0kUY0oYf0kUYKWgj6Ry4wfD29oZCoWCn6E3U19fD399fJKvOH9NODFX17dj1U5HI1kiPpqYmsU2QJKSLMKQNP6SLMKQNP6SLMFLQxmZn4Ozt7ZGUlISff/4ZixYtAgAYDAb8/PPPWLdu3aiunZ6ejvT0dOj1egCWzYErr+8GYGwj8sanWZjpo6UcuH75LadOnUJTUxPlwA3IbykrK0NTUxPlwAnkwAGgHLgBY8S/vyxD8Zn/4Z7roxHrr2d91tbHiLHKgXNxcRlXY8RY5cCpVKpxN0aMRQ5cVVUVG8SJlQMn6Z0Y1Go1G4wkJCRg48aNmDdvHry8vDB16lTs3r0bq1atwnvvvYfU1FS8/vrr2LNnD4qLi+Hn5zfq+1tjJ4bSmlZc89f/QCYD1q+Zi2VpURa5j62SlZWFlJQUsc2QHKSLMKQNP+HLNwEA/Dyd8Fv6MpGtkRbkM/yQLsJYUpvhxh6SnoHLzs7GvHnz2McPP/wwAGDVqlXYunUrli5disbGRjz11FOoq6tDfHw8vv/++zEJ3qyFk4PxJbBTKih444EGD35IF2FIGy79v6cvvnSGiJZIE/IZfkgXYaSgjaRz4C677DIwDMP52bp1K3vOunXrUFlZiZ6eHmRkZGD27NniGTwCVPbGAE7bq4eeesFxME2jE+aQLsKQNlz6r7NclRoiniEShXyGH9JFGCloI+kZOLGwZg6cVncuaPvt98PwdHOmHLh++S2tra3IyMigHLgB+S0tLS3IyMigHDiBHLiysjLKges3RvTft9H4nho/Y8RY5cDV19ePqzFirHLgampqxt0YMRY5cGq1mr0v5cBJEGvkwDEMg8gVm8EwwO9vL4OPh5NF7mOrlJWVITQ0VGwzJAfpIgxpw0WnN2DmrVsAAJ8/dz1ipnuLbJG0IJ/hh3QRxpLaDDf2kPQS6kRAJpNBZa8AAHT36ES2Rnp4e9MHDR+kizCkzeAY6Ds7B/IZfkgXYaSgDQVwEsCu71WgAI7LsLcUmWCQLsKQNlz6x2y06MKFfIYf0kUYKWhDAZwEsO+L4DRaCuAIghh7GJwL2ih+I4jxARUx8GDNIgYAcHVyQFN7L3LyjgGd3lTE0C9BWS6XUxEDT4IywzBUxCCQoKzVaqmIYeAYkWEcIwCgta0NGRnlrM/a+hgxFkUMHh4eVMTAM0aonN2RlX8Shu5mAONnjBiLIgZXV1cqYpAy1ihiAICFj32KktPteO/R+ZiXONVi97FFysvLERJCbQ8GQroIQ9pw6dHqMGv1NgDArqevRVKE7fTKtAbkM/xErdgMvYHBX25MwLobE8U2R1JY0meoiMGGkMM409dFOXAcTN+GCHNIF2FIGy79v6XTd3Yu5DP86A1GX9n2w3GRLZEeUvAZCuAkgIPS+DJQEQNBEJaAihiI0XBx7BSxTSB4oABOAkz2M5Yj//3937D1uwKRrZEWtrazhrUgXYQhbbj0D9oofONCPjM4yRH+YpsgOaTgMxTASYAudRv7/7f35olniAQxJb0S5pAuwpA2g0MTcFzIZwaHegdykYLPUBUqD9auQm1q72HvnRDiAp1OR1WoMFbrnD17lqpQeSrMmpqaqAqVttICMLwxov++ja2tbcjIqGJ91tbHCNpKy3JVqCbKyyuQkdExbsaIsahCbWtroypUKWOtKtSL7/0I9a3GIG7xJWF48e5LLXYvW+PkyZOYMWOG2GZIDtJFGNKGi7pbi8TbdgAAtjxxFS6cRTlN/SGf4Sd8+SYAwD9XzsHKq6JFtkZaWNJnqArVhnjwpgT2/7/kVotoifTw96fcCz5IF2FIGx7oa/qgkM8MDi2hcpGCz1AAJwECndUIm+IBALggerK4xkgM05Q1YQ7pIgxpw6X/x6/BQB/GAyGfGRyK37hIwWcogJMI8TN8AQBR0yaJbAlBEOMNqkIlRgPNwEkTCuAkQGhoKBwdjPUktB+qOaGhoWKbIElIF2FIGy7UB25wyGeGgFyGgxR8hgI4CdDZ2QmVvTGAo2a+5nR2doptgiQhXYQhbbiYLaFSAMeBfGZwKOjnIgWfoTYiPFi7jYher4e6TQ0AqDnTQG1E+rUIOHHiBOrq6qiNyIAWASUlJairq6M2IgJtRHQ6HbUR6TdG5OQY/RsA2ts7WE3HwxgxVm1EVCrVuBojxrKNSGVVFTIyusfNGDEWbUROnTplsTGC2oiMAdZqI5KRkYFjDY54aVcWFl0chpfuoTYiJjIyMiTR8VpqkC7CkDZcWjo0mH3XxwCAdx5Jw+VJ00S2SFqQz/BjaiPyyM3JuOu6OJGtkRaW9BlqI2JDpKSkQNWXA1dV34HP/3sCVfXtIlslDVJSUsQ2QZKQLsKQNlz6f02nKlQu5DODQz7DRQo+QwGcBMjPz4djXw5c7ol6PP7eb0h76FNs/Zb2RR04lU8YIV2EIW34oCrUwSCfIc4XKfgMBXASoKenBw72Cs7x978S30HEpqenZ+iTJiCkizCkDRfzKlTx7JAq5DODQzNwXKTgMxTASQAPDw+2jUh/Loql7W48PDzENkGSkC7CkDZc+n/8UtozF/KZwaHKZS5S8BkK4CRAUFAQ20akP76eTiJYIy2CgoLENkGSkC7CkDZc+gdt9GHMhXxmcGgCjosUfIYCOAlw7Ngx3gBu+/eF2PVTkQgWSQdTKTZhDukiDGnDhYoYBod8Zggo6OcgBZ+hPnA8iNEHrqmmimOHRqvH25/nIi3Oe8L2gWtvb0dGRgb1gRvQ46mtrQ0ZGRnUB46nx1NLSwvKysqoD1y/McL02gDUB06oD1x9ff24GiPGsg/c6ZoaZGToxs0YMRZ94Lq6utj7Uh84CWKtPnANDQ1Q6+xx1aP/AQDIZcYpaxmAp9fMxfL5URa7t9RpaGiAr6+v2GZIDtJFGNKGS31LJy6+7xMAwIt3X4LFl8wQ2SJpQT7Dj6kP3N3Xx+HhpckiWyMtLOkz1AfOhtBqtWZFDKYVDgbAVbODRbFJKmi1WrFNkCSkizCkDRfaC3VwyGcGh1yGixR8hgI4CVBTUwN/L2eo+lqJyOUyuDrZAQCqG9RimiY6pmlnwhzSRRjShof+OXD0YcyBfGZwqPCFixR8hgI4iSCTyfDEitkI8HbB06svQHiQFwDgdGMHXvkkC4m3bcfLu7JEtpIgCFuE6RfB6Q0GES0hbBMK4KQIFTFIgMTERADAsrQoLEsz5rv957/GJMwvfivFb/mnoTcw+OCrfDirlLh3cYJotlobkzaEOaSLMKQNF2rkOzjkM4NDMT8XKfgMzcBJAFMlUX8qzrQBAA7kVUPfb83j35/mTqjWInzaEKTLYJA2XMz6wNEaKgfymcFhaAaOgxR8hgI4CdDd3c05dtO8CN5zGQDvfXHUwhZJBz5tCNJlMEgbLv0/fvUUwHEgnxkcmrXlIgWfoQBOAri6unKOPfTnRMhk5x67OdlDITcemOLjYi3TRIdPG4J0GQzShgtVoQ4O+czgkM9wkYLPUAAnAUJCQjjHHOyVZq1FXJzs2d0a8suaUNfciftf/xmpd36Ej348bjVbrQ2fNgTpMhikzeBQRSEX8pnBIZfhIgWfoQBOAgzsem3ib8tT4e7sAHdnB9x1XSxuWxADAOjp1eOSdZ/gh8wKtKp78MzWP7Bzv/jr8ZZASJuJDukiDGnDpf8Mypv/yUXs6q3Y8WOhiBZJC/KZwaGgn4sUfIaqUHkQYyutoqIizjY5012Bz5+6lN0mZ7or4KxSolOj49j8wo4/cGG4E22lRVtp0VZatJUWZyst0+sIAB1dvQCA1z7JwvVzgmx+jKCttCy/ldaZM3XIyMgYN2MEbaU1AbDWVlp1dXXw9/cf1rk79xfhpZ2Z0PTqwTAMZJCx346eXDUHt14ZbTE7xeB8tJlIkC7CkDZcKuvaMf/hT82OzUsIwnt/vUIki6QF+Qw/pq20lqdFYv3aC0W2RlpY0meGG3vQDJwEMJxHk53l86PM9kbd9l0Bnt9h/Bbw3PbDUCrkbC+58cD5aDORIF2EIW248H1Pn+ZvuS+ltgb5DJf+PkPTPFyk4DOUAycBTEsqI2HV1TG47sJQAMY32SufjK/dGkajzXiGdBGGtOHC9/nb3in+Xo5SgXyGS/+gjXLguEjBZyiAGwe8eM8lbIuRjq7eCdUnjiCIoeGbgWvvogCOEKZ/816K36QJBXASID4+flS/r5DL8fDSZPbxq7uzx02F2Wi1Ga+QLsKQNlz4PoDbO3usb4hEIZ/hYtY7kHZi4CAFn6EATgKYqkZHwx0LY/HQkiT28XPbDo+LLbfGQpvxSGlpKTRabjUyQT4zXHJP1I+LMWIsIJ/hQvvnDo4UfIYCOAmgVqvH5Dr3LIrHDZfMAGB8w736SfaYXFdMxkqb8UZ2ST1iV29D0u076EN4AOQzXPg+f3V6Bu99KX4vKylAPsOl/6zbZwdOIGrFZkrP6YcUfIYCOAng7Ow8Ztf6150XQ96XD9fTqx+z64rFWGozntj8i7FnVkeXlj6EB0A+wwPPFIoMwF3XxVrfFglCPsPDAJfRGxhs/vaYOLZIECn4DAVwEiA8PHzMriWXy7Ds8kgAxgDujc9yx+zaYjCW2ownurXnRlf6EDaHfIYL3wycXC4bVy2HRgP5DBe+wpdL44NEsESaSMFnKICTAKbu62PFU6svgIOdAgDw1udH8PF+290rday1GS+0qs8loNOHsDnkM1z4Poz1Bga9OvF7WUkB8hkufEF/bKiP1e2QKlLwGQrgxiEymQz33RDPPn5p5/jqDUcQxPkhlITeQ4UwhAB8PqPpIX+REhTASYDAwMAxv+bd18dDZW+chevp23bLFrGENsT4hnyGi9C7fzzkyY4F5DNc+D4zuiiAY5GCz1AAJwEUCoVFrvvgn41tRQwGBq/uts2KVEtpM14wBenEOchnuAh9gaNWNEbIZ4YH+cs5pOAzFMBJgMrKSotcd+2CWewH/Mc/2marCUtpY8v0H0TtleIPIlKDfGb4aLQ0AweQz/DBF/J30wwcixR8hjaz5yE9PR3p6enQ642DW3Z2NpydnZGYmIiioiJ0d3fD1dUVISEhyM83tnCYNm0aDAYDuz9afHw8SktLoVar4ezsjPDwcDbpMTAwEAqFgnUAvV6PoqIitLe3Q6VSITo6Gjk5OQCAgIAAqFQqnDp1CgAQExOD06dPo7W1Ffb29oiPj0dmZiYAwN/fHy4uLmyDwaioKMyL9cF32XXo1PRi+/eFiPTqBMMw8PHxgaenJ06cOAEAiIiIQHNzMxobGyGXy5GSkoLs7Gzo9XpMmjQJvr6+KCoyBoEzZsxAe3s76uvrAQCzZ89Gbm4uent74enpiYCAABQWGneCCA0NRVdXF86cMba9SE5ORkFBATQaDdzd3TF16lQcO2YsTQ8ODoZOp8Pp06cBAImJiWhvb0dGRgZcXFwQGhqKo0eNfYimTp0KAKiqqgIAxMXFoaysDGq1Gk5OToiMjERubi6rt1KpREVFBQBg1qxZqKqqQltbG1QqFWJiYpCdbZyhnDx5MpycnFBWVgYAiI6ORm1tLVpaWmBnZ4fExERkZGQAAPz8/ODm5oaTJ0+yejc0NODs2bNQKBRITk5GVlYWDAYDfHx84OXlhZKSEgDGCqaWlhY0NjZCJpMhNTUVOTk50Ol08PLygp+fH6t3WFgY1Go16urqjL4WFs36aqdGi87OThQUFAAApk+fDo1Gg9raWgBAUlISCgsLodFo4ObmhuDgYDOf1ev1rN4JCQk4ceIEOjs74eLigrCwMOTl5QEAgoKCIJfLWZ+NjY1FeXk5Ojo64OjoiKioKFbvKVOmwN7eHuXl5aze1dXVaG1thYODA2JjY5GVlcX6rLOzM6v3zJkzUVdXh+bmZo7evr6+cHd3Z/WOjIxEU1MTmpqaWJ/NyspCS0sLysrK4O3tjeLiYtZn29ra0NDQwPFZLy8v+Pv74/jx46zPdnZ2snqnpKQgPz8fPT098PDwQFBQEOuzISEh0Gq1qKmpYX3WEmNEbGwsKioqRjxGmOwdyNmWNhi6GtHc3AylUomkpCRkZmba1BhRXFyMrq6uUY0R3d3dqK+vHzdjRGpqKvLy8qDVauHh4YHAwMDzHiO6eYL7zm4tCgoKbH6MMBgM8Pb2HtUY0dXVxd53rMcIk01DIWNsNTnKCrS3t8Pd3R1tbW1wc3Oz2H26u7vh6OhokWv36gyIXb0VegMDmQxYv2auTVUtWlIbW6W2SY3L/rIbAODh4oDM91eIbJG0IJ/hcryiCYv+/gXn+Cfrr0ViuJ8IFkkL8hku6i4tEm/fYXbs6jkh+Pdf/iSSRdLCkj4z3NiDllAlgOlbnyWwU8px7dxQAMaqohd3ZlrsXpbAktrYKoZ+37ns7WgJdSDkM1yEvqbTEqoR8hkutIQ6OFLwGQrgJEB7e7tFr//SPZfAXml8qbs0Omz/3nY2ure0NraIwXBuaNXpqY/XQMhnuFAbkcEhn+HCtzhHbUTOIQWfoQBOAqhUKoteXyaT4W+3pLKPn99hOxvdW1obW6T/uEqNWLmQz3BhBBqJUBsRI+QzXPiCfmojcg4p+AwFcBIgOjp66JNGya1XRmN+8jQAxjfme1/axqbE1tDG1uj/zbhXRx/AAyGf4SK8hEofyAD5DB98LkP+cg4p+AwFcBLAVE1maZ674yL07XOPYH93q9xztFhLG1uifw4cLaFyIZ/hQjlwg0M+w4VvCZVy4M4hBZ+hAG4C4emqgsre2Dkm90S9yNYQI6VfChx0esYsJ44gzgfKgSOE4Av6KYCTFhTASYCAgACr3Wvl1cZpX41WbxPLqNbUxlYY+M2YZuHMIZ/hQ2AnBsqBA0A+ww/PDBwF/CxS8BkK4CSANZMhH16SzFakbvwkW/LFDFJIFJUaA2fceimAM4N8hsvA2RR3Z3sAtIRqgnyGC28RQ3evze6rPdZIwWcogJMApg7q1uL6i8MAGL9fSX0Wztra2AKGAQMoVaKaQz7DZeCHrqer8cOHllCNkM9w4QvTGAAf/Xjc2qZIEin4DAVwE5B/rrwAyr5qhusvmiGyNcT5QkuoxPky8MPYy60vgKMlVOI8+eAr/m3ZCOtDAZwEiImJser9HB2UCJ3iAQAoqjxr1XufL9bWxhYwDIjXqJWIOeQzXAauenm4GAO4/xw4Ifk0CmtAPsNFaKn0lvm2sxWjJZGCz1AAJwFMGzNbk/qWLgDAb0dPSzqnQQxtpM7AJdT2Tq1IlkgT8hkuA9/j3u7GPRy7enR478t8MUySFOQzXIQ+FuanTLOuIRJFCj5DAZwEaG1ttfo971scDwDQGxg8u+2w1e8/XMTQRuoMHFgXPr4Xm76hZQ0T5DNcBn4W+3g6AQAc7BS467pY6xskMchnuAjt3kHNfI1IwWdGFMBVV1ebRZ+ZmZl48MEH8f7774+ZYRMJe3t7q99z1dUxcFbZATAmpUp1GUUMbaQO34zpSx9nSvY1tDbkMzwM8Bmfvhm4WaHeWJZGS2LkM1yEZuC6eyhlA5CGz4wogFu+fDl+/fVXAEBdXR3mz5+PzMxM/OMf/8AzzzwzpgZOBOLj40W5772Lz903fW+eKDYMhVjaSJmBS6iAqaKYlsIA8pnh4ONhDODU3b0iWyINyGd4EAzgyGcAafjMiAK4goICpKYaN0ffs2cPYmJicOjQIXz88cfYunXrWNo3IcjMzBTlvncsjMWMQA8AQJu6R5IzOGJpI2X4dl5QKmS0FNYH+QyXgR4zqW8GrpMCOADkM3wILaHSbgxGpOAzIwrgent74eDgAAD46aefcN111wEAIiMjcebMmbGzjrA49yyKB2BsJ/DeF9LuCUcY4VtC9fdyoaUwQpCBLuPqZFz+oRk4QgjhJVQK4KTCiAK46OhovPvuu/jtt9+wf/9+XHXVVQCA2tpaTJo0aUwNnAj4+/uLdu8rUoPhYGd0Aw9XB9HsEEJMbaQK39anWurnxUI+w2Vg0G/Kf23p0OD2F7/HhffulOQMvLUgn+Ey0Gfs7RQAaDstE1LwmREFcC+++CLee+89XHbZZVi2bBni4uIAAF9++SW7tColFi9eDE9PT9x0001im8KLi4uLaPe2VyqgsjcO5scrmiU3CyemNlKFLweup5cGVRPkM1wGeoyLox37/4NHa9DY2j2hcyjJZ7gM9BnPvi/4NANnRAo+M6IA7rLLLkNTUxOampqwefNm9vidd96Jd999d8yMGyseeOABbN++XWwzBCktLRX1/g8tSWL//+rubGz7vlBEa8wRWxspwpcDRx31z0E+w2VgzP/l72WccyZyDiX5DJeBPuPVt/0aBXBGpOAzIwrguru70dPTA09PTwBAZWUlXn/9dZSUlMDX13dMDRwLLrvsMri6uopthmRZPj8Kt187i3388k7xkzMJYfhy4Hp69ZJuyEyIy0Df+PBr876BcpmMcigJMwb6jGn7NeoDJx1GFMBdf/317IxWa2srZs+ejVdffRWLFi3CO++8c17XOnjwIBYuXIiAgADIZDLs27ePc056ejqCg4OhUqkwe/ZsSVR/jCVRUeIPnI8tT4WTSgkA0OoMeH1PjsgWGZGCNlKDLweOYYBe2hMVAPnMYPh5OiHA24V3tm0ifwEgnxkaT5qBM0MKPjOiAC43NxcXX3wxAOCzzz6Dn58fKisrsX37drzxxhvnda3Ozk7ExcUhPT2d9/ndu3fj4YcfxtNPP43c3FzExcXhyiuvRENDA3tOfHw8YmJiOD+1tbUj+fOsTn19vdgmAAD+tvxc/uLb+/Kw4wfxl1Kloo2UEPqg1WppGRUgnxkMD1cVDryxlDPbZmAYdGombkUq+QwXWkIdHCn4jHIkv9TV1cUuSf7444+44YYbIJfLMWfOHFRWVp7Xta6++mpcffXVgs9v3LgRd9xxB9asWQMAePfdd/HNN99g8+bNePzxxwEAeXl5I/kzOPT09KCnp4d93N7ePibXHYrm5mar3GcolqVFoVXdg9f6Zt+e23YYSoVc1KUVqWgjJfiKGABA06uH+Gm14kM+w8UU9Mtkwue0dPTAxVH87vJiQD4zNDQDZ44UfGZEAVxYWBj27duHxYsX44cffsBDDz0EAGhoaICbm9uYGafVapGTk4MnnniCPSaXy5GWloY//vhjzO5j4oUXXsCGDRs4x7Ozs+Hs7IzExEQUFRWhu7sbrq6uCAkJQX6+sXJr2rRpMBgMqK6uBmCcFSwtLYVarYazszPCw8Nx5MgRAEBgYCAUCoVZsFtUVIT29naoVCpER0cjJ8cYRAUEBEClUuHUqVMAgJiYGJw+fRqtra2wt7dHfHw8u6Ts7+8PFxcXNrkyKioK9fX1aG5uhlKpRFJSEjIzM8EwDHx8fODp6YkTJ04AACIiItDc3IzEyT2YN8sLvx5rBgPgxY8PIyXYDr6+vigqMrYZmDFjBtrb29lvILNnz0Zubi56e3vh6emJgIAAFBYaZ+9CQ0PR1dXF9gdMTk5GQUEBNBoN3N3dMXXqVBw7ZszHCQ4Ohk6nY7dpS0xMhFqtRkZGBlxcXBAaGoqjR41VslOnTgUAVFVVAQDi4uJQVlYGtVoNJycnREZGIjc3l9VbqVSioqICADBr1ixUVVWhra0NKpUKMTExyM7OBgBMnjwZTk5OKCszJnlHR0ejtrYWLS0tsLOzQ2JiIjIyMgAAfn5+cHNzw8mTJ1m9GxoacPbsWSgUCiQnJyMrKwsGgwE+Pj7w8vJCSUkJACA8PBwtLS1obGyETCZDamoqcnJyoNPp4OXlBT8/P1bvsLAwqNVq1NXVAQAMSmP5urebHWSQoUXdC52BQUZmNlLjI6HRaNjZ56SkJBQWFkKj0cDNzQ3BwcFmPqvX61m9ExIScOLECXR2dsLFxQVhYWHsl6OgoCDI5XLWZ2NjY1FeXo6Ojg44OjoiKiqK1XvKlCmwt7dHeXk5q3d1dTVaW1vh4OCA2NhYZGVlsT7r7OzM6j1z5kzU1dWhubmZo7evry/c3d1ZvSMjI9liKrlcjpSUFGRlZaG1tRVlZWXw9vZGcXEx67NtbW3szH1/n/Xy8oK/vz+OHz/O+mxnZyerd0pKCvLz89HT0wMPDw8EBQWxPhsSEgKtVouamhrWZy0xRsTGxqKiomLEY0RRnw69Wi3Onj2L0tJSONjJ0NN77svAH1l5CFpw8ZBjRGNjI6t3dnY29Ho9Jk2aJNoYUVxcjK6urlGNEVqtFvX19eNmjEhNTUVeXh60Wi08PDwQGBiIgoICAMD06dOHNUbUtZybzACA1ibj6/Pl72VQ6ttx6+WhNjtGGAwGeHt7j2qM6OnpYe871mOEyaahkDEjSHz47LPPsHz5cuj1evzpT3/C/v37ARgDoIMHD+K7774730sajZHJsHfvXixatAiAsa/clClTcOjQIVxwwQXseY899hj++9//suINRVpaGo4ePYrOzk54eXnh008/NbueCb4ZuKCgILS1tY1pYCp1GIZB1K1b2GrH9WvmYvl88df7CSM/ZVfi3o0/IWGGL3ZvWIjk23egvUuL71+5EdMDPMQ2j5AgB4+exu0v/oCZwZOw71+LAAAf7z/e1zZIhrrmTnzw2BW4ND5IVDsJ6VB+pg1XPvIZ+3jjusvw8FsHAAAOdgoc27ZaHMMmAO3t7XB3dx8y9hhRDtxNN92EqqoqZGdn44cffmCPX3755XjttddGckmL8tNPP6GxsRFdXV04ffo0b/AGAA4ODnBzczP7sQZSK8qQyWS45/o49vGGrYdEa/IpNW2kgIFdDjOuhznYGxtsUisRI+QzXPi+p98yfyYOvrUM0wPcARib+k5UyGe4DPSZxtZu9v86KpiShM+MKIADjNOaCQkJqK2tZaezU1NTERkZOWbGeXt7Q6FQcJIF6+vrJdEFeayQYvXXA39OQlqycQmCYYCnNx/Cjh+tX9QgRW3ExqSJvO/d69DXIZ12YzBCPsPFJAlfClx7pxYA8EtulfUMkhjkM1wGSrLt+0KsuyEBAKA3MKJ8HkgJKfjMiHLgDAYDnnvuObz66qtQq9UAAFdXVzzyyCP4xz/+Abl8xHGhGfb29khKSsLPP//MLqsaDAb8/PPPWLdu3Zjcg4/09HSkp6dDrzd+IFo6B87Dw0MyOXD981tWX+SB/x6pRq/e6KjPbj2Mz38+hk1/u8Jq+S29vb2UAzcgv0XP+AAAOjo6UFJSAjuF8f125GgBAtxnTfgcuM7OTsqBGzBGmPxO23suB87ks6U1xmTsg0eM76WJmANnZ2dHOXADxoiaZuOMrIOdHC4qBa6Y5Ya7Fkbjrc+NPvrWZzlYcqltjhFjkQOnUChsMwfuiSeewKZNm7BhwwZceOGFAID//e9/WL9+Pe644w48//zzw76WWq1mB5OEhARs3LgR8+bNg5eXF6ZOnYrdu3dj1apVeO+995CamorXX38de/bsQXFxMfz8/M7X9PNiuOvQo6WlpYVtiiw1dv1UhBd3ZqJLc67ySGWvwBMrZlulOlXK2ojFN3+cwkNv/orZMydjxz+vwfVP7EVRZTM2/e1KXBwXKLZ5okM+w+XX3Crc9cp+xEz3xufPXW/23JoXvsPvx2pxQXQAtv1DuCPAeIZ8hkvp6RZc89jn8HBxQOb7K9jjc+7+GM3tGqy5JhpPrJgjooXiYkmfsWgO3LZt2/Dhhx/innvuQWxsLGJjY3Hvvffigw8+wNatW8/rWtnZ2UhISEBCgnFq9uGHH0ZCQgKeeuopAMDSpUvxyiuv4KmnnkJ8fDzy8vLw/fffWzx4syamb7hSZFlaFPI2r8JVqcHsMY1Wj/VbrJMXJ2VtxGJgSwjTEip1SDdCPiMM3xJqatRkAMAUn4nbhIZ8hotpZkc2oPdMsL8xoEgMHz9pTCNBCj4zoiXU5uZm3ly3yMjI8+6Nctlllw25lrxu3TqLLpkSQ/PGg5dj5/4ivPBRRt+2TcCLOzNp+x0RMFUHy/sGVpW98W1MRQyEEGwOHE8jOOe+je07uyduI1+Ci1DvQFM/uIlc9CIVRhTAxcXF4a233uLsuvDWW28hNtb2N0S2dg5ccHCwJHPgBua3hLq144N7InFbehF69QZ0aXS478W9SP/bYovlt5jyDCgHrl8fOMYLANDR3o6SkhL0pcChqOQkZs9wm/A5cL29vZQDNzAH7kRfDpy2h5MD19XeAgCoqWsCMDFz4Dw9PSkHbsAYUd1kDNAYg4H9exISEgCdsRq1uLQKPReF2OQYMRY5cO7u7raZA/ff//4XCxYswNSpU9mWHH/88Qeqq6vx7bffstts2TrWyoE7deoUpk+fbrHrjzUf/Xgcz2w910g5OcIPO5++1iL3sjVtrMHegyfxt3cP4uK4QGz625W477WfsD+rEhvWzqUZUZDP8GHqHRgf5oM9z1xn9tz+rArc99rPvM9NFMhnuBRXNeO6x/fC290Rh95Zzh5/eVcWPvgqH6uuisY/Vk7cHDhL+oxFc+AuvfRSnDhxAosXL0ZraytaW1txww03oLCwEDt27Bix0ROVxsZGsU04L1ZcMRNPrj73xs0uqUfcmm0WyYmzNW2sAdtGZEAOHC2hGiGf4cIM6B3YH1cn4/ZZHRN4CZV8hovQEqqXGy2hAtLwmREtoQLGafuB1aZHjx7Fpk2b8P7774/asInEWLVdsSa3XhGNnOJ6fHvYOAXe3aPD+i2HwDAY010bbFEbS9OXAsfmwNU0dgAAMovOYPXVMWKZJRnIZ7gMtsxi2v9U3a21jjEShHyGy7negeYRnCkHrvasGpeu+wQtao3VuhJICSn4jPgWEEhJSRHbhBHx+l/+hPVr5sLBzuhGDAOs33IIH+8/Pmb3sFVtLImBbeRrHFhLqo05TBmFZ0SzSUqQz3A5V8TAfc40A6fu7kVNYwcOHKm2omXSgHxmEAbOwPUFcNnF9TjT3AmNVo939uVZ3y6RkYLPjHgGbjxj7SIGAHBzc5N8EQNfgnKoG3Bs2xrErNwMrc74KbFhyx84daocV8R7jzpB+b///S9cXV2piKF/EYPBmBPR0tKCkpISxARPQmZxPab52KOxsXHCFzE0NzcjLCyMihj6jREn+97nPT3cIoaGM0Z7Ort7Me+BPQCABUneuH/xrAlTxNDT04OIiIhxM0aMRRFDRYOxWMGg15sVMXQ0G3+vPzOnOKC2ttZmxoixKGIoLCyESmUMZm2qiEGIo0ePIjExkQ18bB1rFTFkZGRg9uzZFru+Ndj1UxFe/DgTXT3nepE9fksq1i6YNarrjgdtxppdPxXh6c2HMD9lGtIfSsPG3dl494ujWHnlTPxzFf8+vxMJ8hkuP2SW4/7Xf0FShB92DSg46tHqMGv1NrNjKnsF8reutqKF4kI+w6WwvAmL//EF/Lyc8Ntby9jj3T06xK0x9xcXRzv8dVnKhFpGtaTPDDf2OK8ZuBtuuGHQ51tbW8/nckQfkyZNEtuEUbMsLQrL0qKQsHY7OjXGZOj/+zgTvXoD7roubsTXHQ/ajDXsEqppM/u+Iob6li7c8dIPKKpsxn2L4yfUYNof8hkugy2hOtgrIZfL2P6CgHGvy4kE+QwXoRw4RwclPFwc0KruYY+pu3vx3pf5E2rMkYLPnFcA5+7uPuTzK1euHJVBExFfX1+xTRgzHluegpd3ZUHdV9H26ifZ0PTo8MCfk0Z0vfGkzVhhMBj/HRjA/ZBZwZ4z0QbT/pDPcBH6MDYx8Kifp5NlDZIY5DNcGPBXoQIwC94AwF4px13X2X4P2PNBCj5zXgHcli1bLGXHhKaoqGjcTN+bZuKSbt+Bji5jVVv63jxs/a4Qjy0//yn28aTNWDGwvN/eXsE5Z6INpv0hn+Ey2IcxAMwI9ERx1blddGoa1di5v2hMK8qlDPkMl8FmbZMj/ZBdXM8+nurnNuG+MErBZ6gKlbAIj96cDLe+6jYA6NT04sWPM0W0aPzADKhCNc3A9WeiDabE4Ay2lRYApEaZ72vJABOyspA4x2Cztq/cexmcHM7N/0z0nnBiQVWoPFi7CnXq1Kk2sZXW+VSYTXdtR/od4citluG1z43VOF19ya8rLg3AJVFuw6owk8vltJUWZyst4/JW89mzKCkpgYzhFg2ZbJyIVaharZa20hpYhdqnmUaj4VSh1tfXAz0trO842cvRpTUgZYYHWlpaJkQVqoeHB22lNWCMKK3rAgDoB1ShmsaIW+cFYW9GHRpautHSoUFNTQ3HZ6U6RoxFFaqrq6ttbqU1UbBWFWpFRQWCg4Mtdn2x+Xj/cTyz5Q+2majKToH8bauH9bvjXZuRsOmbY3jx40xcf1EYXr73UnyfUY6//PsXs3OObV0FB/uJ+f2MfIbL14fK8PBbBzBn5mRs/+c1nOe7e3RIvesj9Gj1cHRQortHh4eXJuPu60degGRLkM9wyTvZgCVPf4VAH1f88u8lvOdotDrE9lUwZ3+wAm7ODtY0UVQs6TMW3UqLGFtM31LHK7fMn4mn18xlH2t69Zi1ait27h96663xrs1IYAxDL6E2tHZb1SYpQT7Dhf2aLpAD5+igxN9XzEaAtwvmxgQAMC6hWmJ7PClCPsNFaCut/qjslXDsW0odWNgw3pGCz1AAR1iF5fOjsGHtXHYw6OnVY8OWQxPmA2IsMQzYC9WeJ4BrbO2ypkmEjSBUhQoY8yYPvLEUS+ZFADDOyr33Zb61TCMkBhvzDxLAAYCnq3HWjfLgrA8FcBJA7EoWa7EsLQrr18yFqm9pjwHw9ObBg7iJos35YBiQkM43A7f34ElrmiQpyGe4DGc2xcSMIE/2/7dfO7pG3LYC+QyXoVrPmPBwMW1uP7Fm4KTgMxTASQBTYudEYFlaFPK3roJDv9YXg83ETSRthsvAD2MHnjYi/XvCTTTIZ7gMdzYFAKZ4u8BZZQcAmDNzsuWMkhDkM1yGG/RrtMbdd77LOGVpkySFFHyGAjgJ0NvbK7YJVueJW2bDTml0PwMDvPJJFu95E1GboTB1zB/YyLc/qVET44OXD/IZLuyH8RCzKYBxZte0LLb522MWtUsqkM9wORf0D+4zZ5o6AQA/51RZ2CJpIQWfmZhlakNg7TYiLi4u466NyFAtAkLdNNj511Qs/b/DMDBAR1cv3v7sMK6/IMisRUBPTw+1EeFsZm+cHWlsbERJSQkYe+4OKY6yTmRkZEzINiJqtZraiAwYI0z6CrURGThGmHIovztcjuvjjMHceG4jolAoqI3IgDGipMYYmOl0vbxtRExjxDQfexTX6BAZ6Ia6ujqbGCPGoo2ITCajNiJSxlptRNRqNVxcXCx2fSmT/vkR/Psz45taBmD92rlmTWgnsjZCvPFZLt76/AiWzzfmFNY1d+KSdZ+YnbPiipl4avXE3NiefIbL5wdP4vF3D+LiuEBs+tuVQ57/SPqv+Or3U5ge4I7vX7nJChaKC/kMl6yiM7jl2W8RMtkdP7wq7AOm8ejmyyPxzG0XWtFCcbGkz1AbERvC9E10InLfDQlYlhYJwDhl/9JO890aJrI2QjACm9n3p71rYiUU94d8hofz/J6+5mpj8UL5mbZhtfuxdchnuAw3b9Kjb7m9dYJVoUrBZyiAI0Rnw9oLYd+XD9ep0WHrtwUiWyRtBrYR4QvgOjq11jSJkDjnKgqHR3hfJSrDAG/vPWIZowhJM9T2aya8XPuqUCdYHzgpQAGcBAgNDRXbBNF5dFkK+/8XPspgq1JJGy4Gg/FfUyPf/n3gFH3H2rsmbgBHPsPlfKpQAaNPmdqJRId4W8YoCUE+w+Vc4cvgeLhMzBk4KfgMBXASoKuLmq6uvjoGa66JBmD8sDG1FiFtuBjY8n7j0KpUnHsbT55kzMlQT+AAjnxGmKFmU/pz2zUxAICDR0+P+2VU8hkuw2/kOzH7wEnBZyiAkwCm6quJzhMr5iAx3A+AsbXIe18cJW14GKw/U4C3M4CJPQNHPsNluLMp/bkiNRgAoDcweGlX5uAn2zjkM1yGu4RqmoFrUWswkWoipeAzFMARkuKdR9LY/nDuLhNnY+TzwTCgiKE/phm4iRzAEVyG29OrPy6O9rC3M74Xe3UGC1hFSJnhBv2mGbhenQHbvhM/sX8iQX3geLB2H7jo6OgJ1wdusB5PDkoZenVAUWUzvjviCID6wJn3gTMOrHVnzqCkpASBgYGs77a0qwEAnd29eO79b/H42ismXB84hmGoD9yAMcL0XHd317D6wJnGiOsvCManB0/BXgG0tLSwPiv2GDHWfeACAgKoD9yAMaKo0jiW9Op0g/aBy887AhmMXxLe/SIPUZM6WZ+V6hgxFn3g/Pz8qA+clLFWH7ijR48iLi7OYte3NXbuL8L6LYfYxxsG9Iab6Dy//TC2fV+Iu66LwyM3JwMAUu7YgbZOLSZPcsaZs8YB1N/LCQfeuBkF5U2ImjaJndkc79D7icsnPxfjqU2/4/KkqXjnkfnD/r0uTS8Sb9sBA8PgLzclYt0NCRa0UjzIZ7j8L/801v7fD4ic5oUvX1g86LnX/PU/KK1pxbVzp2PjunlWslBcLOkz1AfOhtBoJlb1zlAsnx+FexbFs48H9oab6LBLqP3evQ8vTUaAtwvuvj4Ojg7GifUbLg1H+t4juOnJL3HB3R8L7jc73qD309jhpLKDUmFcRBvPy2PkM1zOp/XM5UnTAJgXVI13pOAzE0dtCePuzt0KaaLz0JIktj1Gp0aHHd+P3w+P88U0sPbPgVuWFoUDbyzFsrQoBHgb8+Bmz5yMN/9jXJJr79LivS/zrW6rGND7iQszoHL5fLhw1hQAwBQf5zG1SUqQz3A5n7zJuDAfAMC+30qx8rlvLWiVdJCCz1AAJwFMuRqEOY/2LQ8CwHPbD0+YGaShGNhGZCCT3IxJxQWnmthjMgB3XRdrcdukAL2fuJyrKDz/373reuMyUVFFMzZ9Mz43tyef4XI+lcvzEoPY/x8+fmZCVKNKwWcogJMApmRHwpzVV8fgsui+jvAA3t6bJ6o9UoExmJZQ+YdWU2f0jOPnytwZAEv+FGFx26QAvZ+EkZ1XIxEj8WG+UCrkxq3uPs4cl1+kyGdGh0Iux/zkaezj1/Zki2iNdZCCz1AAR0iatZcHsDNKI5k9GI8M3EprIF7ujgCA4qpms+PvfXHUonYR0oWBcO/AoZDLZVjaF/wb9yvOGkPLCKky3D5wJtIfTmO39dv10/CqKInRQQGcBAgODhbbBMkSEhLCzjTVNXfhX9sPi2yR+Ax3CbWhxbxT+I4fjlvWMIlA7ycu57sX6kCeXjOXrWLu7WuvNJ4gn+FiCvrPx2lM+ZKBPq4WsEhaSMFnKICTADqdTmwTJItOp8O6GxLYMWTr94X46MeJEYgIMdQ3Y6++AG4gl8QH8h4fb9D7icv5zqbwceMlMwAYG7aOt2VU8hkeRhD0r11g3H6tqLJ53G+/JgWfoQBOApiaUhJcTp8+jWVpUXhs+bnN7p/d9se4+wA5H0yNfIWWUL3dnXiPhwd5WcokSUHvJy4jmU0ZyN9WzDZeiwHe2Zc3eqMkBPkMl5EE/bOmG6tRDQwz7nxkIFLwGQrgCJvgtmtjcc2cEADGgeXdCZzPNdhWWgAQ6ONi9nhKX1uRs23dljWMkC6jj9/grLKDp6txe7urUkNGbxMhaUaSN+nooMSUvvHHtJxKWA7aSosHa2+lFRUVRVtpgX+bHJVKhYwM41Zaz66dg19yKqDpZeCglOHMmTMTeiut6tPVKClx4GyTI9N2mPmzUmb047KqOnR3d4/7rbQMBgNtpTVgjDD5flfX+W2lNXCMiJjiisPFPWB6WgBAEmPEWGyl5e/vT1tpDdhKq6SsHQDQq9UOupXWwDEiNsgBNY1qfJ9RDl9nHS4Md5bkGDHarbR8fHxoKy0pY62ttI4dO4ZZs2ZZ7Pq2zEBtZt/1MVo6jB2wH7k5GXddN/G2v3nkrQP46lAZnlgxG2uuieE8zzAMIm7ZzD52dbJHR5cWF8dOwabHr7KmqaJA7ycuW78rwL92ZGDBBdPx2v0j3+rolU+y8P6X+XBSKfG35anjZos78hku+7MqcN9rPyNhhi92b1g47N/7MasC6177GQAQ4O2CA28stZSJomJJn6GttGyIrq6uoU+aoAzU5oGbEtn/b/wke0LmwpmWNoRy4AbmrFx3YSgAoGmCLKHS+0mY0bbiCQ809mXs0ujG1c4e5DNczu3EcH6/lxTux/5/5ZUzx84giSEFn6EATgK4uLgMfdIEZaA2y+dHYe0C47ceBkD653nWN0pkTEuoMqEIrh/e7irceGk4AKCkqmVCBLz0fuJyro3I6CK46BBv9v+3Xzt+ZqzIZ7icW5s7P5+Z5O7IVsJXN3QMcbbtIgWfoQBOAoSGhoptgmTh0+bxW1Lh52mstJyIzX359kIdiKkXnFwuh4+nsbGvgWEmRDNfej9xObcX6uiuEzLZHS6OdgCApAi/Ic62Hchn+Bi5z3RrjC02vvq9bCwNkhRS8BkK4CSAKemW4CKkjSmIqW/pwgsfZVjRIvEZqgoVAP5yUyICvF1w3+J4+Lg7Qdk3W/fneeN/Oy16P3EZ4WQKB7lcBh8P45enG//55bjp9UU+w2U0++deEBMAAAiebLnccbGRgs9QAEfYJPfdEM9+Fm35tgAf7584zX0Nw5hNWZYWhQNvLMWytCjI5TIET3YHAMSF+VjDREJqjNESKgC0dfYAAHR6AzZsPTQhluUnIqNZdv/zPGPahlZnGEuTiAFQACcBTOXuBBchbZalReGRm5PZx89snTjNfdkcuPP4ajzVz/hNuKp+/OakmKD3E5exWkIFjIVEKntl33UxLooZyGeEGYnPmJqGF1c2j9sv11LwGQrgCJvlzuvi2ApLhgFe2TUxNtlmc+CGUcRgYqqfcW/CqoZ2S5hESJyx7BW1LC0Kv7+9jH08nisNJzLMKLzG1DwcAN7dJ/5S43iFAjgJYGo0SXAZSpuX770USoUxkOno7sXmb45ZwyxRGU4O3EBC+pZQN39TgITbtiN29VZs/a7AIvaJDb2fuJybgRubqh9XJ3v2Q3rWdO8hzpY+5DNcRrN/rlwuY3ftWHDB9LE0SzJIwWcogCNsGplMhoeXnltK/b+PM7FtnAYmJobaC5WPK1OD2f93dvdCo9Xj1U+yx9gyQuqMZdF2xFTjMtm9G3+aMOkLEwk26B/h70f0LaNGBU8aI4uIgVAAJwHi4ibebgLDZTja3H5tLO6+PpZ9/PyOjHEdxJ1rsDn8odXLzREqe4XZMVMgON6g9xOXkTZlHYyIqcamvm2dWpvPgyOfGYQR+kxA3wxtbZN6DI2RDlLwGQrgJIBpjzeCy3C1eXhpCtufCjAGcR98ZdsfKkIwphm485mCA/DEitlwd3aAndL4tvd2dxxz26QAvZ+4jGY5TAjTDJydUo67rosd4mxpQz7DZbTNn00BXE3j+AzgpOAzFMBJALV6fDr4WHA+2vx1WQqcVeeCuJd3ZeHfn+ZYwixRGUkOHGBMPs/6YAW+fGExAKC9S4vxuBUyvZ+4WOJ1Ni2RKRVyLPmTbfcXJJ/hMtrKZVOO5Bf/Kx2XS+xS8BkK4CSAk5OT2CZIlvPRZllaFI5sXgnXfjNx6XvzELt667hpOAoMrw/cYAT5uUIGoFPTOy5nKen9JMxYLqFO83eDUi5Dd48O//dRpk0vyZPPcBntsnuAjzGA6+nV2/wSOx9S8Bml2AZIkfT0dKSnp0Ov1wMAsrOz4ezsjMTERBQVFaG7uxuurq4ICQlBfr7RMadNmwaDwYDq6moAQHx8PEpLS6FWq+Hs7Izw8HAcOXIEABAYGAiFQoHKykoAQFRUFIqKitDe3g6VSoXo6Gjk5BhnjgICAqBSqXDq1CkAQExMDE6fPo3W1lbY29sjPj4emZmZAAB/f3+4uLigtLSUvW59fT2am5uhVCqRlJSEzMxMMAwDHx8feHp64sSJEwCAiIgINDc3o7GxEXK5HCkpKcjOzoZer8ekSZPg6+uLoiJjEDRjxgy0t7ejvr4eADB79mzk5uait7cXnp6eCAgIQGFhIQDjdiNdXV04c+YMACA5ORkFBQXQaDRwd3fH1KlTceyYsXI0ODgYOp0Op0+fBgAkJibCYDAgIyMDLi4uCA0NZbtfm3rwmCqB4uLiUFZWBrVajWWXTMEnv9WgvasXAKDR6rF+yyHkHDuBJRf6Y9asWaiqqkJbWxtUKhViYmKQnW1M6J88eTKcnJzY6fHo6GjU1taipaUFdnZ2SExMREaGcecHPz8/uLm54eTJk6zeDQ0NOHv2LBQKBZKTk5GVlQWDwQAfHx94eXmhpKQEABAeHo6WlhY0NjZCJpMhNTUVOTk50Ol08PLygp+fH6t3WFgY1Go16urqAJzLXSsrK0PJJB0CAwNRUGDM+Zs+fTo0Gg1qa2sBAElJSSgsLIRGo4GbmxuCg4ORn58Pmcy4RLLp63zE+WkAAAkJCThx4gQ6Ozvh4uKCsLAw5OXlAQCCgoIgl8tZn42NjUV5eTk6Ojrg6OiIqKgo5ObmAgCmTJkCe3t7lJeXAwBmzZqF6upqtLa2wsHBAbGxscjKymJ91tnZmdV75syZqKurQ3NzM0dvX19fuLu7s3pHRkaiqakJTU1NrM9mZWVBp9OhrKwM3t7eKC4uZn22ra0NDQ0NHJ/18vKCv78/jh8/zvpsZ2cnq3dKSgry8/PR09MDDw8PBAUFsT4bEhICrVaLmpoa1mctMUbExsaioqJixGNEVd89O9WdOHv27JiNEabVtW3fF2Lb94VICXPDXxZMteoYUVxcjK6urvMaI5ycnBAZGcn6rL+/P+rr61FRUcH6rC2PEampqcjLy4NWq4WHh8eIxojS0hYAQE9PD/v3nM8Y4T35XPXpgkQv9Pb2SmaMMBgM8Pb2HtUY4ezszN53rMcIk01DIWPG4xrKGNHe3g53d3e0tbXBzc1yW4JkZGRg9uzZFru+LTMabXbuL8L6LYfMjsllxu2knl4zF0qFbU5A3/LMN8gqrsO///InXD0nZETXuPzBPahu6MCSeRF47o6LxthCcaH3E5f0z4/g35/lYumfIvDs7WP3em/Ycggf95vdlsmAko9vG7PrWwvyGS57D57E3949iItjp2DT41ed9+9rdXrMWrUVDAMcemc51F1aTPVzO+/cXaliSZ8Zbuxhm59gBDEMls+Pwoa1c+HqdG5J1cAAu38pwcxbt2DmrZvx2h7by5Fjc+BG8e6d2VfaH95XSUiMbyz1Lf2p1RfA3dmefRwwyWWQswlb4tz+uSMLuOyVCvh6GpcZ//nB/3DFI58h9a6PxmU+nFhQACcBAgMDxTZBsoxWm2VpUcj5cCWunTudU0ul0zN4Z18ewpdvQuzqrXjvS9voGD4WTVlNG5I3tnSj4FQTjlc0jYltUoDeT8KMZRWq6XoPL03GJDcVAKCuudMmP6DJZ3gYZR84wBjEAcAvucZl7PZx0HLGhBR8hgI4CaBUUiqiEGOlzcZ181Cy8zZsWDuX0w8NANvYNuKWTZi1aivWb/kdze2aMbn3WHOuke9oAjhjC5HjlWdx4z+/wKK/f4EPvx4fAyu9n7iMtinrYCxLi8J3r9wEANAbGLxjg1snkc9wOdd6ZuTXaGrr5hyLHCez/lLwGQrgJIApcZbgMtbaLEuLQv7W1Tix8zbjrNyAwYlhjFVTO/cXY87dHyN8+SZE9gV1T334P9Q0dojeesNU7De6AM44A/fb0dPsUsl7X9jeBy8f9H7iMhYfxoPh4eLAzsJdniT+Jt/nC/kMl5E0DB/Iny8L5xzLO9k44utJCSn4DAVwxIRl47p5KPnYOCvn7uwABzvuzBxgDJh6evX45JcSzHtgDyJu2Yzw5Zsw89bNeOyd/yKruA71LZ1WC+zY2ZRRvHtNM3D9UXf32uTyFzE0o81nGg4XxxmXlDxcVTh5uoV39oWYWPz91jmw72scruwrXkid6S+mSeMK8ecACcyaNUtsEySLNbRZlhaFZWlRAIBdPxVh4+4cdGp6odMboJTLoBPob6XTM9j3Wyn2/VZqdlwG4wfmzGleuOO6OPh5OsHPyxl+nk6wFwgSzwdmDGbg/LycOcf0BgbvfnGU1cJWofcTDxZcQjURH+aLfb+VIv3zI0j//AhkMuCfq+bg1iuiLXjXsYF8hstYLLvL5TL8/dY5eP+rowiZ7I7fj9XC10P8/mljgRR8hgI4CVBVVYXIyEixzZAk1tamfzBnYmBQJ5edW8bkw/TU8cpmPPTmr4PeT6mQ4U+J0zA/ZRomuakwyd0Rk9wc4eWmEmxzYprZOJh3GpfGBw37b+tP2BQPczv6AtWpfq4jup6UoPcTF0tspTWQS+PNk7oZBnhu22Eo5XLJfykgn+EyFkuogLEbwPL5Udi5vwi/H6tFzTjZG1UKPkMBnARoa2sT2wTJIgVt+II6wBjYvfBRJjRaHRvUKeQyMAwzaIDXH52ewY9ZFfgxq2JY50cEeaK+pRMA8F1GOZ5cfcFw/wwzlAo5XJ3s0NHX7FjW9wccLW1Ec3s3aprUmDXdZ0TXFhsp+IzUYDC63TuGwxQfVzjYKdDTqz93XwZ478t8yQdw5DNcRruV1kACfY1fDk83dIzNBUVGCj5DAZwEUKlUYpsgWaSsjVBgBwwI7uQyGAwMlAoZwAA6A8PuhHC+lFS3sP9PjRpdLsmOf16Dm578Ejo9Awc7BXp1Bmi0esy5eycAIDHcD5+sv3ZU9xADKfuMWFir7uaJFbPxzhd5uPaCUGz65hjkMuDOhdLf6J58hstY+4xpb9QT1S3Yub8Iy+dLO6gfCin4DAVwEiAmJkZsEySLrWozWHDXH75AzzSbp5TLwMCYm2bKq+tPXunoqrlmBnvjyVUX4L0v83HXdbF4aWcWOjW97PO5J+ptcqC1VZ+xJOwSqoXvY1ou69HqsP37QvTqDbgodoqF7zp6yGeEGatl9yl9e6MyAN794qjNjSsDkYLPUAAnAbKzs2kbFwHGuzbDDfSAc7l4Pb16KGQM7rpu9DMb/e/PMMBLuzKh6dGxS8Dv7MuzuYF2vPvMaLBkDlx/HOyV8PV0Qk2TGm/vzcP/3X2JVe47UshnuIz1EqrKXgkXRzuou3tx/UWhY3NREZGCz1AbEYKwEZalRSHrgxXI37oK7949/MBvuCyfH4W8zatQ/PFtCJhkrFKNDfXB5Q/uQfIdO6jFiA1jjRy4gbSqewAAP2RWWO+mxJhxbtZ27JxmRqCxiW90iPeYXXMiQwGcBJg8ebLYJkgW0oYfS+tiqm7dn12J6oYOtHdq8a6NNPoln+EiRu/pq+eEAADkMuDnnEr06gzWN2KYkM9wsUTQb1pGrWm0/UpUKfgMBXASwMlpfPTFsQSkDT+W1iUh3JdzbLKNbFROPsPH6PfPPV/W3ZAAAOjo7sU9r/6E2NVbJTuLSz7DxRJ5k4E+xkrUjbuzEbt6KxJv2y5ZnxgKKfgMBXASoKysTGwTJAtpw4+ldbkyNYRzrKjyrEXvOVaQz3Cx9FZafAR4u8DF0Y59rDcweOvzI9Yz4Dwgn+Fiid6BpiXUXr2x4l3d3WszM/sDkYLPUABHEAQHRwclPFwcAAAqB2OtU3ePDhfc/TEilm/CX/79s5jmEeeJJfKZhsNfl6XAwe7cx0wM5T7ZDKYl1LF0mXkJ3MbjAd62MbMvRSiAkwDR0dLfakYsSBt+rKHLQ0uSEODtgr/enAy7vv0Mz7ZrwAD4PqMCO/dLc+mDfIaLGEUMgLHw5ti2NXj+josAAP87ViPJJTPyGR4ssITq4mQPJ5V584viyuYxvIP1kILPUAAnAWpra8U2QbKQNvxYQ5dlaVE48MZS3HplNJxVdpznN2w9JMkPY/IZLmIUMfRnXuJUAECvzoC39+WJawwP5DPW49GbU+Dv5YRZ042zsZMncfdltgWk4DMUwEmAlpaWoU+aoJA2/Fhbl4eWJMHd2R7uzg5sHgvDAE9vPiS55HTyGWGsPQNnwtvdEUF9CeytHT2Sm70ln+Fyrg/c2DrNiitm4uBby/D3W+cAgFnzcFtCCj4z7gO46upqXHbZZZg5cyZiY2Px6aefim0SBzs77uwGYYS04cfauhh70N2KrA9WYO+/rjduC9aHRqvHhi3SmY0jn+HCsFNwIkVwAG5fOAsA0NOrx/oth7D9+0LRbBkI+QyXc5vZW+b6YVM8AABnznZC3aW1zE0siBR8ZtwHcEqlEq+//jqOHz+OH3/8EQ8++CA6OzvFNsuMxMREsU2QLKQNP2LqYq9U4B8r58BZpYS8b3Q39M3GzVq9VfTZFfIZYcSagQOAmy+PhIOdgn38/PbDkgn6yWe4WLrwxd3FAa59VcrvfJFnkXtYEin4zLgP4CZPnoz4+HgAgL+/P7y9vdHcLK2kyYyMDLFNkCykDT9i63LL/Jk4snkV/nh3udnw3qM1zq588FV+v1kf6yK2NlJErCrU/shkMvz91tlw7ktiZwC8tDNTNHv6Qz7DZay30uKjp6+586e/nrDcTSyEFHxG9ADu4MGDWLhwIQICAiCTybBv3z7OOenp6QgODoZKpcLs2bORmTmyN31OTg70ej2CgrilzARBnD+erircszgeqn4zKwDw8q4sRNyyGfFrt0lmlmUiY40P4+GwLC0KRzavgn1fVXOnRocPvsoX1yiCF/brlwV9JmGGDwBgZvAky91kHCN6ANfZ2Ym4uDikp6fzPr979248/PDDePrpp5Gbm4u4uDhceeWVaGhoYM+Jj49HTEwM56d/lUhzczNWrlyJ999/X9CWnp4etLe3m/1YAz8/P6vcxxYhbfiRki4P/jkJ+dtWY8PauXByMG8R0KXR4enNhxC1YjPe3mudJq5S0kYqWDqf6Xx5dFkK+/+Xd2WJng9HPsODFWZtF1xg3NReoZCjU9MLvUG6260NRAo+I2PEWufgQSaTYe/evVi0aBF7bPbs2UhJScFbb70FADAYDAgKCsL999+Pxx9/fFjX7enpwfz583HHHXfg1ltvFTxv/fr12LBhA+f4zz//DGdnZyQmJqKoqAjd3d1wdXVFSEgI8vON3x6nTZsGg8GA6upqAMagsrS0FGq1Gs7OzggPD8eRI8YPsMDAQCgUClRWVgIApk6ditbWVrS3t0OlUiE6Oho5OTkAgICAAKhUKpw6dQoAEBMTg9OnT6O1tRX29vaIj49nZyT9/f3h4uKC0tJSAEBUVBTq6+vR3NwMpVKJpKQkZGZmgmEY+Pj4wNPTEydOGKeuIyIi0NzcjMbGRsjlcqSkpCA7Oxt6vR6TJk2Cr68vioqMMykzZsxAe3s76uvr2dcoNzcXvb298PT0REBAAAoLjQNyaGgourq6cObMGQBAcnIyCgoKoNFo4O7ujqlTp+LYsWMAgODgYOh0Opw+fRqAMccgLy8PBoMBLi4uCA0NxdGjR1nNAKCqqgoAEBcXh7KyMqjVajg5OSEyMhK5ubms3kqlEhUVFQCAWbNmoaqqCm1tbVCpVIiJiUF2djYA45K7k5MT22U7OjoatbW1aGlpgZ2dHRITE9mpcz8/P7i5ueHkyZOs3g0NDTh79iwUCgWSk5ORlZUFg8EAHx8feHl5oaSkBAAQHh6OlpYWNDY2QiaTITU1FTk5OdDpdPDy8oKfnx+rd1hYGNRqNerq6gAAqampyMjIgEwmg4eHBwIDA1FQUAAAmD59OjQaDfvlJSkpCYWFhdBoNHBzc0NwcLCZz+r1elbvhIQEnDhxAp2dnXBxcUFYWBjy8vIAAEFBQZDL5azPxsbGory8HB0dHXB0dERUVBSr95b/NuHXPKOtAwcXGYyNgReneuPqRG/4+/vD2dmZ1XvmzJmoq6tDc3MzR29fX1+4u7uzekdGRqKpqQlNTU2sz2ZlZUGj0SAgIADe3t4oLi5mfbatrY394tffZ728vODv74/jx4+zPtvZ2cnqnZKSgvz8fPT09MDDwwNBQUGsz4aEhECr1aKmpob1WUuMEbGxsaioqBjxGLHupX3Yf7QZt8wLwbob4iQxRjy76RfszWhkfePWS/1xRbz3eY8RxcXF6OrqGtUY4eHhAQ8Pj3E1RuTl5UGr1Y54jPgmpxGf/K8eVyQF4NaLvACM3RgxZcoU2Nvb44ffC/Dsp+WsD8hkwNrLg/DX1WnIysoCAIuMEQaDAd7e3qMaIxoaGtDR0QFg7MeI4uJiXH755Whra4ObmxuEkHQAp9Vq4eTkhM8++8wsqFu1ahVaW1vxxRdfDHlNhmGwfPlyREREYP369YOe29PTg56eHvZxe3s7goKChhRxtGRkZGD27NkWu74tQ9rwYyu6rP2/7/G//Bre5xRyGdZcHYO/Lk8Z01YFtqKNNdmw5RA+3l+EexfF48ElSWKbw5KwdrtZG4nHb0nF2gWzrG4H+QyXD77Kx8u7srD4khl48e5LLHKPXp0Bs1ZtgaFfFOLj4Yjf315ukfuNJZb0mfb2dri7uw8Ze4i+hDoYTU1N0Ov1nKlKPz8/9pvGUPz+++/YvXs39u3bh/j4eMTHx7OR8UAcHBzg5uZm9kMQxMjZ/PhVOLHzNiy4IAQyAPJ+cZrewODDb44hasVmvPmfXNFsnEhIZQnVxGPLU9iiBgD4v48zKWdSIrB5kxa8h51SjmVpUWbH4sJ8LHjH8YWkA7ix4KKLLoLBYEBeXh77M2uW9b/hDUZUVNTQJ01QSBt+bE2X1+7/E0p23obij2/Dggumm30oGBjgzf8cwcxbN2PHD6PPhbI1bazBuYR0aUVwpqKGO6+LZY+9KEJlKvkMF2vlTT69Zi42rJ0Ld2d7AMBvR6W53dpApOAzyqFPEQ9vb28oFAo2j8JEfX09/P39LXbf9PR0pKenQ6/XAwCys7MtmgPn5uaGmpoayoHjyW85evQo7O3tKQduQH7LkSNHoFKpJJkDZ8pvKS8vZ/Wurq5Ga2srHBwc8Op9l+LmVCekf1eNjBNt7AeFTs/g2W2HcbKiFgvi3Uac39LR0YFp06ZRDly/MaK+zvhebW9rxdmzZyU3RiyZ64ct38jQq2fQpdHhLy9/ieUX+8LDw8MqOXBKpRKBgYHjaowYbQ5cVZUxP7Grq4v9eyw1Rlw/dxbsDR14Yusx9PTq8d6XRzHd1VhEKNUcuPLychj6ii4skQM3HCSdAwcYRUxNTcWbb74JwFjEMHXqVKxbt27YRQwjZbjr0KOF8i+EIW34GU+6PPTmr/j2j1NmBQ92CjmeuHU2Vlwx87yvN560GSue3vQ7dv1cjPtvTMD9N4rfgJSPrd8V4F87zvXWUshleHLVBVg+3/IzHeQzXN7Zl4fX9uTgpsvC8a87L7b4/ZraujH3np0AgCdXzsGtV4m/WfxgUA4cALVazS5tAkB5eTny8vLYb00PP/wwPvjgA2zbtg1FRUW455570NnZiTVr1oho9diiUCiGPmmCQtrwM550ee3+eSjZeRsevTmZPdarN+CZrX9g2Yavz7sh8HjSZqw4txwmrSXU/qy+OgaP35LKPtYbGPz7M+vkRpLPCGMtl5nkpoJL384Ms6MnW+emo0AKPiN6AJednY2EhAQkJCQAMAZsCQkJeOqppwAAS5cuxSuvvIKnnnoK8fHxyMvLw/fffy+JHixjRXJy8tAnTVBIG37Goy53XheHBRdMNzuWU1KPiFs2Y/W/vhv2dcajNqPFGgnpY8HaBbNw7dxzPtDSocGaF4b/2o8U8hnxkclkcOvLg9vxw3GRrRkaKfiM6AHcZZddBoZhOD9bt25lz1m3bh0qKyvR09MzLqe6Tf1uCC6kDT/jVZfX7p+HEztvw1Wzg82OHyqoRfTKLXjvy6NDXmO8ajMa2K20pB7BAdi4bh6ObV3FPv79mPG1/+hHy32ok89wORf0W89pWjqMbby+/eOU1e45UqTgM5IuYhALaxcx6PV6FBUVUREDT4Jya2srMjIyqIhhQIJyS0sLMjIybLKIITY2dsgmnbfMccEU1yB89N8a9PQaE4V7dQa8+kk2Xt+TjVsumYz7l17Im6B89uxZlJWVURFDvzHC9He3trVJsohh4BhRXFSIpOmuyDnVwb72z2z9A+qODiycEzjmRQzd3d2or68fV2PEaIsYqquNPtPV1WnxIgbTGBE71QkZJ9shl8sQt3oLroibhHU3xEmyiEGtVrP3pSIGCWKtIoZTp05h+vTpQ584ASFt+JlIuuz6qQgv78qCurvX7HhShB92PrWAk9c1kbQZLv/44Dd8+usJPLQkCfcsihfbnGGz66civLgzE10aHXvsHyvnYNUYJ7iTz3B56/MjeOOzXNx8eSSeue1Cq9zzyIl6LF3/tdmxB/+ciHsXJ1jl/ueDJX3GZooYCMDLy0tsEyQLacPPRNJlWVoUcjet5M2Pi1yxGYm3bTfrGzWRtBkutvo1fVlaFPI2r4Jjvz12n99+GHe+9OOY3od8hosYeZNRPJvab/lW3H1yhZCCz1AAJwFMU+YEF9KGn4moC5sflxrMHmMYQN3di6c3H8Jre4xLihNRm+Ei5SrUwXj8llQ49QviDuRV4/W+13ssIJ/hIkbepMpeyTb0NTHNz9V6BpwHUvAZCuAIgrAp3njwcmxYOxeuTnZmx9/Zl4fIWzZj9+/D22ZvIsHOpthm/GaciduyCvNTprHH3t6Xh4S1222ia78tItbuHQ8vTYa7swOcVcb3d2HFWXqNBaAiBh6sXcQwbdo0KmIAfxGDQqGgIgaeBGUA47qIYagE5emuwC+vXo9t3x7Fph/K0K01FjoYGAZfZzfhm1s2YdFFIVgU7wS5XEZFDA3GrvqtrdLciWG4Y8RTy2chzE+Fd742vo86NcbZ1/Lyclw/d9qIxwgPDw8qYhgwRtScNr52XZ3WK2JobW1FlLcDMt5bjgP/O4y73y2C3sAg/fNcdmcGqRQxuLm5URGDlKEiBvEhbfghXcx5+K1f8c0h890cTMyc5oX3H7sSvp5OVrdLKvzt3YPYe/Ak/rosBXcsjB36FyTOjh8K8ey2w2bHnlw1B7deObLiBno/cXl9Tw7e3peHFVfMxFOrLxDFhtQ7P0Krugerr4rG31fOEcUGIaiIgQAANDY2im2CZCFt+CFdzNm4zribQ/8msCaOVzbjovt2IfKWTfjr2/9Fe2ePCBaKi6008h0ut14ZjfVr5kJlf64b/rPbDmPT1/kjuh69n7gwEH/ZPTXKuCOD/yRn8YwQQAo+QwGcBLDVxGJrQNrwQ7rws3HdPHz04CxsWGv+4Q4ABgb44n+lSL7jI0Qs34S4Nduw+ZtjIllqXc4lpI8fv1k+Pwr5W1ezuVIA8OLOLKx8/tvzvtZ40mWsYH1GRBuiphkrPV//NAf//jQH3T26IX7DekjBZyiAkwCmnCaCC2nDD+kiTGpqKpalGT/cjYEcN9WXAdDdo8P/fZyJ8OWbcNM/v0Bzu8b6xhKj5rHlKXB1PBfEHS48g9jVW88r8Z3eT1ykEPTPSzTmMWq0eqTvzUPS7dIpWpGCz1AAJwFMycgEF9KGH9JFmP7aGAO5VTix8zbeWTkT+aeaMOfujxG+fBNu+Mc+NLR0Wctcq2BaDhs3a6j9WJYWhZxNK822X9No9Xh68yGse+3nYV2D3k9cpLCEOjN4EhTycwbo9Axe3iX+FlaANHyGqlB5oK20pFOF2tzcTFWoPBVmZ8+endBVqIBwhZnQVlpzQlX44J4oAMCpDje8tPMwunsMMAyofCgoP4uL7tsFALBXynDv4gTMDZHZdBVqU2MTAKC1pcWmq1D5xgjTVlp3pfkjKdwHL+3KRq/O+KL+mFWBWas2Y9lF/nj41j/RVloY/hhRW2u8Vv8to8QYI9ZcEYqPfimHRmv8PNb26nHy5EnRq1Db29upClXKWKsK9eTJk5gxY4bFrm/LkDb8kC7CnK82u34qwsbdOejs1kI3MJobwLyEILz31ytGa6LVeeStA/jqUBmeWDEba66JEdsci7P6X9/hUEGt2bFHlibjruvjeM+n9xOXl3dl4YOv8rH66mj8/VbxK0Aff/cgPj94EgHezjjwxs1im2NRn6EqVBvCz89PbBMkC2nDD+kizPlqsywtClkfrMDxj9aa5czJedaOfj1SjfDlmzDz1s3496c5sJXvv1JYDrMmW/9+NZ5cZR50vLo7G3FrtmHnfm4OFb2f+DD5jDSc5oE/JwIAaps6sfXbApGtkYbPUAAnAUzT4AQX0oYf0kWY0WjTP2eu+OO1uHbudMhk3MBHp2eQvjcPEbdsxsxbN+PVT7IkHcxJoaLQ2tx6ZTQ2rJ0Ll34FDt09Oqzfcgj//izX7Fx6P3ERYyutwZg8yYXNh3vnizxxjYE0fIYCOIIgCAE2rpuHko9vQ8nHfUUQdtwiCJ2ewXtf5iPils2YtWorNu7OFsHSwTm3lZZEPo2txLK0KORuWomn15g3ok3//Ahm3roZO76X5kbpUuBc0C8dn5k909gXTt3VyzuTOtGgAE4ChIWFiW2CZCFt+CFdhLGUNsvSopC/bfWgFa09vXq8+8VRhC/fhNjVW/HBVyNrLDvWnNvXUkwrxOOW+TM5++fq9Aye3X4YK5//lt5PPEhx2f0vNxmXUXv1Bqzfcgi3PveNaLZIwWeoCpUHa1ehenl5oaGhgapQBSrMlEolVaEOqDA7fvw47O3tqQqVp8JMrVZj6tSpo6owG2ov1Omu7fjgniiEhITgqa1Z+DWvDjIZzCpaNVo9Xt6VhZd3ZSE8wAnvPHgpFHKIUoXafPYsAKClefxWoQ41Riy+KA6xkw148dPjOHyinX2dDheewcUPfoE7F0TighAF67O2PkaMtgr1TK3x9RC7CrX/GMEwDGZH+iGj2OhXGcfrsOmbY4jxNrb9sWYValVVFfs+oipUCWKtKtSMjAzMnj3bYte3ZUgbfkgXYcTU5uG3fsU3f5zCYKPqZfFBeP8x61ayPvDvX/BdRjmeXHUBbr1yplXvLVXuf+1n/JBVYXYsOmQSdm9YCHslf7/AicS/dhzG1u8KccfCWPx1WYrY5phx78b9+CnbGJjLZMD6NXOxLC3KqjZYcpyhKlSCIAgrY8qZ27B2LtydHaCUc9efDuQZK1mXPPWl1bYGOpcDZ5Xb2QRvPnQ5Nqyda7YVV2H5WcSs3IolT30JvcEgonXSQYo+8/bD87HoYuMSJsMA735xVGSLxIECOAkghS05pAppww/pIowUtBnYmsTd2R7yAcFcXmkj4tZsQ/jyTbjt/763qD2mCUEpfhiLybK0KBzZvBLXzAkxO55X2oiZK7Ygfi1/25GJgBSLGPrz3O0XwcHOGMIoFXK0dFh3KzwpjDMUwEkAUw4BwYW04Yd0EUZq2hiDuVtR3BfMmT50+vNbfg3Cl2/Cjf/8Auou7ZjbIPUPY7FZdbEnpzCFAdClMbYdSVi7fcIFclKftbW3U8DRwTh7Wt3QgTl3f4xN3xyz2v2lMM5QACcBtNqxH7DHC6QNP6SLMFLWZllaFI5tW8POyikGzModO9WExNt3IGrFZry8K3PMestJsaJQSmi12r4egKuxYe1cuDnZmz3fqenF+i2HsH7L75Lu9zeW2MKs7UNLklj7GAZWbeEjhXGGAjgJ4OHhIbYJkoW04Yd0EcYWtDHNyhWZdn8YMCunNzD44KtjiLhlMxb/Yx/aO3tGdb9zTVkl/GksIv19ZllaFLI/vLUvkLMzO2/n/mJErtiMv79/EL268Z0jZwuztsvSorB+zVzWwl6dAe9ZKR9OCuMMBXASIDAwUGwTJAtpww/pIoytaWPsL7dGsLdcYflZJN/xEaJWbMb/fTyyWbmJMms0Uvh8xhjIreQEcgwDfHbgJKJXbsH1T+xFhwWWvKWA1JdQTSxLi8L6tXPZx+9aaZcGKYwzFMBJAFN/HoILacMP6SKMrWpjWsJjGwUP2PVBb2Cw+RvjrFz0rVt4831+P1aDW575BnPv2YldP3FztqT+YSwWg/mMKZAzbavWn6LKZiT1LXm/vfeIha0khFiWFsW2x+nU6BC+fBP+8vrPFr2nFMYZ6gPHQ/9GvidOnMDPP/9s0Ua+er0enp6e1MiXp0nngQMH4ObmRo18BzTp3L9/P9zd3amRL0+TzrNnz2LGjBkWbeQ7miad5zNGbP7qCHb+dgZaHf8wLZcB110QhIduisMvh49jw55T7HOTXO3w9t2zEB8fj2VPforcUx14aHEUlvwpYlyNEcNt5DvYGNHd3Y2oqKhhjRHZlTq8+80J9PTyL6EmRfhh3XxvKBUym27ku/XXWvyc34yVaaGYH+0IQNpjBMMwuPu9YnT16NnX4m83J+CyaHeLNPI9duwYnJycAFimke/ll18+ZB84CuAGwVqNfBsbG+Hj42Ox69sypA0/pIsw41WbXT8V4YWPMqDR6oc+GUDYFA9otDpotDpMcnNESXULnrvjIiyZF2FhS22PkfjMUK+HUiHDvYvise7GxLEw0eqs3/w7dv5UjHU3JLBbWEmdXT8V4fnth6Hty0/0dHVAxnsrLHIvS44z1MjXhtBorNu/xpYgbfghXYQZr9r0X2JdcMH0IVPLS2tacbpRjaY2DU6ebgUAZB4/Y3E7bZGR+MzAJe+B7WF0egZv/OcIuy/u+1/aVrPZE9UtAICC8iaRLRk+y9KiULB9DeYlBAEAWjp6cOdLP1rkXlIYZyiAkwCmqWyCC2nDD+kizETQ5rX756Fk521sXpZSLoNSLoNMBswI9OCcb+hbaPkpu9LKltoGo/WZ/u1h+ApRNFo9XvkkGxHLNyFuzTar9isbKccrjPvn5pTUi2zJ+fPGA39i/38grxqzVm8d8z5+UhhnaDN7giAIG2XjunnYuG4e53jC2u3o1PRyjtsp6Tu7JVmWFsXuyWnaF1cGGRtAMwC6e3R48eNMvLQzEw52Cty3OAF3XR8notX8BPm6oqS6BZfFi19teb442CtxedJU/JxjzH/s0eqxYeshyGSw+p6ploRy4AbBWjlwOp0OSiXF0nyQNvyQLsKQNsZcoPe+zEfCDB98+0c5GAAKuQxPrb5gXH2AjRWW9pmH3/oV3xw6hcE+bJUKGe5cGIcH/pwoiX59f37qSxwtbUT6Q5djfkqw2OaMiF0/FeGFHRnQ9BrzFJ1VdjiyeeWYXNuSPkM5cDaEqRqL4ELa8EO6CEPaGGcZDryxFK/d/yesXzsXAd4uWJsWRMGbAJb2mY3rjEvexh04HOBgx11m1ekZvL0vDxG3bEbMyi148sP/WWRbteHS3G7M8Zrk7iiaDaNlWVoUjm5dBTuFMdTp1PQi8bbtvC12zhcpjDMUwEkAKSRDShXShh/SRRjSxhxTMHdJlOVWEWwda/mMcQeOFTi2bTUbzCnl3Nk2rc6A3b+UIPH2HQhfvgnXPb4XxyvOwmCw3oIZG8C52W4ABxh3H3l0WQr7WN3dixc+yhj1daUwzkzsdQaJYMnlWVuHtOGHdBGGtOGHdBFGDG3658sB53Lm5DIZ9AMCteKqZiz6+z4AxmbMKjslbl84C+tuSLDIcmt3j47NoZzkphrz61ubNdfEAAAbuGm0esSu3orHb5mN5fNHNisthfcT5cANgrVy4Lq7u+HoaNvfciwFacMP6SIMacMP6SKM1LQ5VwABDDXpppDLsPDCUDy0JAmTJ7mMyf1rGjsw74E9sFPKUbBttSRy8saCnfuLsGHLIbNcxL8uS8EdC2PP+1qW9BnKgbMhTF2YCS6kDT+kizCkDT+kizBS02bjunko+fg2FH98Lm9OqeAPovQGBvt+K8Wl9+9G+PJNCF++CTf+8wuU1rSOeA/cs33Lp64q+bgJ3gBg+fwoPL1mrtmxl3dl4c3/5J73taTgMzQDxwNtpSWdbXJoKy3aSmsib6XVX++KiopRjREtLS2Iiooad2OEtbfSEnuM+CG3Af/5owHdWj10w8iJkwGwt1Pg8lmeuPECX0SGhw05Rmz6/De88U01FHLgL4tmIjHIONczXsaI/XlN2HOo3mzbrdjpXnhpbRwaGxs5Pktbadkg1lpCraurg7+/v8Wub8uQNvyQLsKQNvyQLsLYsjbGLb0yodHqIJMBw/lEt1fKceXsYNy2IBYzAj05/QGf2/YHtv9gDFYCvF1w4I2lljBddD78Oh8v7cxiHysVMjyyNBm3XTv0kqolfWa4sQcVMUgAvX54extOREgbfkgXYUgbfkgXYWxZm4HFELt+KsLG3Tno1Gih0/NHc1qdAV/9fgpf/X6KPaaQy2Bvp8CfLwvHf/5rnHV1tFfgruvOPz/MVrj92ljklzXh+wzjTKBOz+DFnVloaO3GEytmD/q7UvAZyoGTAKblAIILacMP6SIMacMP6SLMeNLG1Krk+I617D6txhw648e9gqdtCWDMpevu0WH7D8fRqdEBABztZeO+d+AbD/wJG9bONdtbeMu3BQhfvgn3bfxJ8Pek4DM0A0cQBEEQ45SBM3QAd5svuVzG22PuuhRfa5kpKiZ9Xt2djfbOc82T92dXIn7tNvxteaokA1nKgRsEa+XAabVa2NvbW+z6tgxpww/pIgxpww/pIgxp03/ptRd6gwELLpiO/7vzwgmny66fivCvHYfR02swO37/jQm4/8ZE9rElfWa4sQcFcINgrQCuoKAAMTExFru+LUPa8EO6CEPa8EO6CEPa8DORddn2fSGe337Y7JhSIcNjy1Ox+uoYi2pDfeBsiM7OTrFNkCykDT+kizCkDT+kizCkDT8TWZdVV0Vjw9q5cHWyY4/p9Az+tSMDcWu24Ys/qkS0zggFcBLAxWVsumePR0gbfkgXYUgbfkgXYUgbfia6LsvSopDz4UosuGC6WZFDd48OO3+rE80uE7SEOgjWWkLt6emBg4ODxa5vy5A2/JAuwpA2/JAuwpA2/JAu5uz4oRDPbjMuq7o62SHnw5UWuQ8todoQpk7WBBfShh/SRRjShh/SRRjShh/SxZxbrzQuq06e5IwbZ/uIbQ61ESEIgiAIghgOprYspu27xIRm4CRAUFCQ2CZIFtKGH9JFGNKGH9JFGNKGH9JFGCloQwGcBJDL6WUQgrThh3QRhrThh3QRhrThh3QRRgraiG8BgcrKSrFNkCykDT+kizCkDT+kizCkDT+kizBS0IZy4HhIT09Heno6u1ltdnY2nJ2dkZiYiKKiInR3d8PV1RUhISHIz88HAEybNg0GgwHV1dUAgPj4eJSWlkKtVsPZ2Rnh4eE4cuQIACAwMBAKhYJ1AL1ej6KiIrS3t0OlUiE6Oho5OTkAgICAAKhUKpw6Zdx0OCYmBqdPn0Zrayvs7e0RHx+PzMxMAIC/vz9cXFxQWloKAIiKikJ9fT2am5uhVCqRlJSEzMxMMAwDHx8feHp64sQJ46bFERERaG5uRmNjI+RyOVJSUpCdnQ29Xo9JkybB19cXRUVFAIAZM2agvb0d9fX1AIDZs2cjNzcXvb298PT0REBAAAoLCwEAoaGh6OrqwpkzZwAAycnJKCgogEajgbu7O6ZOnYpjx44BAIKDg6HT6dg95hITE9He3o6MjAy4uLggNDQUR48eBQBMnToVAFBVZezFExcXh7KyMqjVajg5OSEyMhK5ubms3kqlEhUVFQCAWbNmoaqqCm1tbVCpVIiJiUF2djYAYPLkyXByckJZWRkAIDo6GrW1tWhpaYGdnR0SExPZ3Ac/Pz+4ubnh5MmTrN4NDQ04e/YsFAoFkpOTkZWVBYPBAB8fH3h5eaGkpAQAEB4ejpaWFjQ2NkImkyE1NRU5OTnQ6XTw8vKCn58fq3dYWBjUajXq6oxl66mpqWhra0NGRgY8PDwQGBiIgoICAMD06dOh0WhQW1sLAEhKSkJhYSE0Gg3c3NwQHBxs5rN6vZ7VOyEhASdOnEBnZydcXFwQFhbGJjEHBQVBLpezPhsbG4vy8nJ0dHTA0dERUVFRrN5TpkyBvb09ysvLWb2rq6vR2toKBwcHxMbGIisri/VZZ2dnVu+ZM2eirq4Ozc3NHL19fX3h7u7O6h0ZGYmmpiY0NTWxPpuVlYWWlhaUlZXB29sbxcXFrM+2tbWhoaGB47NeXl7w9/fH8ePHWZ/t7Oxk9U5JSUF+fj56enrg4eGBoKAg1mdDQkKg1WpRU1PD+qwlxojY2FhUVFSMaoxoaWlBZWXluBsjiouL0dXVNaoxoru7G/X19eNqjMjLy4NWqx3VGKHRaFBTUzPuxgiDwQBvb+9RjRFdXV3sfcd6jDDZNBTURmQQrNVGpLu7G46Ojha7vi1D2vBDughD2vBDughD2vBDughjSW2ojYgNYfoWQnAhbfghXYQhbfghXYQhbfghXYSRgjYUwEmAjo4OsU2QLKQNP6SLMKQNP6SLMKQNP6SLMFLQhgI4CUBT1MKQNvyQLsKQNvyQLsKQNvyQLsJIQRvKgRsEa+XA9fb2ws7ObugTJyCkDT+kizCkDT+kizCkDT+kizCW1IZy4GwIU2UOwYW04Yd0EYa04Yd0EYa04Yd0EUYK2lAbkUEwTU62t7db9D6dnZ0Wv4etQtrwQ7oIQ9rwQ7oIQ9rwQ7oIY0ltTNcdaoGUArhBMCUpSmHLDIIgCIIgJg4dHR1wd3cXfJ5y4AbBYDCgtrYWrq6ukMlkFrlHe3s7goKCUF1dbdE8O1uEtOGHdBGGtOGHdBGGtOGHdBHG0towDIOOjg4EBAQMumUXzcANglwuR2BgoFXu5ebmRm8SAUgbfkgXYUgbfkgXYUgbfkgXYSypzWAzbyaoiIEgCIIgCMLGoACOIAiCIAjCxqAATmQcHBzw9NNPw8HBQWxTJAdpww/pIgxpww/pIgxpww/pIoxUtKEiBoIgCIIgCBuDZuAIgiAIgiBsDArgCIIgCIIgbAwK4AiCIAiCIGwMCuAIgiAIgiBsDArgRCY9PR3BwcFQqVSYPXs2MjMzxTbJohw8eBALFy5EQEAAZDIZ9u3bZ/Y8wzB46qmnMHnyZDg6OiItLQ0nT540O6e5uRm33HIL3Nzc4OHhgdtuuw1qtdqKf8XY88ILLyAlJQWurq7w9fXFokWLUFJSYnaORqPBfffdh0mTJsHFxQU33ngj6uvrzc6pqqrCggUL4OTkBF9fX/z1r3+FTqez5p8y5rzzzjuIjY1lm2ZecMEF+O6779jnJ6ouA/m///s/yGQyPPjgg+yxiarN+vXrIZPJzH4iIyPZ5yeqLgBQU1ODFStWYNL/t3PvMU1ebxzAv8XSruCgYIHCNi4OhlyEMJisolk2iFDNNg3bnGmWotkIWBxLXKLOOdwfjiVb3O2PLmyKSzA2wwzGlMsQkEzCRZCrMNSJuGzW6hgKzIHS5/cH8f3tFWfM7we81D6f5E3acw7lOQ+Hkyfte7poEVQqFZYuXYrW1lah31n34ODg4GlrRiaTwWQyAZina4aYZCwWCykUCtq/fz+dPn2a3njjDVKr1XT58mWpQ5s15eXltHPnTvruu+8IAJWUlIj6P/zwQ/L09KTS0lLq7OykF154gUJCQujGjRvCmLS0NIqNjaWmpib66aefKDQ0lDZs2DDHM5lZqampVFhYSD09PdTR0UGrV6+mwMBAGh0dFcZkZWXRY489RjU1NdTa2kpPP/00LV++XOi/desWRUdHU0pKCrW3t1N5eTlpNBrasWOHFFOaMWVlZXT06FE6c+YM9ff30zvvvEOurq7U09NDRM6bl39qaWmh4OBgiomJodzcXKHdWXOTl5dHUVFRdOnSJeG6cuWK0O+seRkaGqKgoCDKyMig5uZmOn/+PFVVVdG5c+eEMc66B9tsNtF6qa6uJgBUV1dHRPNzzXABJ6Fly5aRyWQSnk9OTlJAQADl5+dLGNXcubOAs9vtpNVq6aOPPhLahoeHSalU0qFDh4iIqLe3lwDQyZMnhTEVFRUkk8not99+m7PYZ5vNZiMAVF9fT0RTeXB1daXi4mJhTF9fHwGgxsZGIpoqjl1cXMhqtQpjzGYzeXh40Pj4+NxOYJZ5eXnR119/zXkhopGREQoLC6Pq6mp65plnhALOmXOTl5dHsbGxd+1z5rxs27aNVqxY8a/9vAf/V25uLj3++ONkt9vn7Zrhj1AlMjExgba2NqSkpAhtLi4uSElJQWNjo4SRSWdgYABWq1WUE09PTyQmJgo5aWxshFqtRkJCgjAmJSUFLi4uaG5unvOYZ8u1a9cAAN7e3gCAtrY23Lx5U5SbJUuWIDAwUJSbpUuXws/PTxiTmpqK69ev4/Tp03MY/eyZnJyExWLB2NgYdDod5wWAyWTCmjVrRDkAeM2cPXsWAQEBWLx4MQwGAy5evAjAufNSVlaGhIQEvPzyy/D19UVcXBy++uoroZ/34CkTExMoKirCpk2bIJPJ5u2a4QJOIlevXsXk5KTojw0Afn5+sFqtEkUlrdvzvldOrFYrfH19Rf1yuRze3t4PTN7sdjveeustJCUlITo6GsDUvBUKBdRqtWjsnbm5W+5u9zmy7u5uLFy4EEqlEllZWSgpKUFkZKTT58ViseDUqVPIz8+f1ufMuUlMTMSBAwdQWVkJs9mMgYEBrFy5EiMjI06dl/Pnz8NsNiMsLAxVVVXIzs7Gm2++iW+++QYA78G3lZaWYnh4GBkZGQDm7/+SfFZelTH2PzOZTOjp6cGJEyekDmXeCA8PR0dHB65du4bDhw/DaDSivr5e6rAk9euvvyI3NxfV1dV46KGHpA5nXtHr9cLjmJgYJCYmIigoCN9++y1UKpWEkUnLbrcjISEBH3zwAQAgLi4OPT09+PLLL2E0GiWObv7Yt28f9Ho9AgICpA7lnvgdOIloNBosWLBg2imWy5cvQ6vVShSVtG7P+1450Wq1sNlsov5bt25haGjogchbTk4Ojhw5grq6Ojz66KNCu1arxcTEBIaHh0Xj78zN3XJ3u8+RKRQKhIaGIj4+Hvn5+YiNjcVnn33m1Hlpa2uDzWbDk08+CblcDrlcjvr6enz++eeQy+Xw8/Nz2tzcSa1W44knnsC5c+eces34+/sjMjJS1BYRESF8vMx7MDA4OIhjx47h9ddfF9rm65rhAk4iCoUC8fHxqKmpEdrsdjtqamqg0+kkjEw6ISEh0Gq1opxcv34dzc3NQk50Oh2Gh4fR1tYmjKmtrYXdbkdiYuKcxzxTiAg5OTkoKSlBbW0tQkJCRP3x8fFwdXUV5aa/vx8XL14U5aa7u1u0uVZXV8PDw2Papu3o7HY7xsfHnTovycnJ6O7uRkdHh3AlJCTAYDAIj501N3caHR3FL7/8An9/f6deM0lJSdO+nujMmTMICgoC4Nx78G2FhYXw9fXFmjVrhLZ5u2Zm5WgEuy8Wi4WUSiUdOHCAent7KTMzk9RqtegUy4NmZGSE2tvbqb29nQDQ3r17qb29nQYHB4lo6gi7Wq2m77//nrq6uujFF1+86xH2uLg4am5uphMnTlBYWJjDH2HPzs4mT09POn78uOgo+19//SWMycrKosDAQKqtraXW1lbS6XSk0+mE/tvH2FetWkUdHR1UWVlJPj4+Dv/VB9u3b6f6+noaGBigrq4u2r59O8lkMvrxxx+JyHnzcjf/PIVK5Ly52bp1Kx0/fpwGBgaooaGBUlJSSKPRkM1mIyLnzUtLSwvJ5XLas2cPnT17lg4ePEhubm5UVFQkjHHWPZho6psgAgMDadu2bdP65uOa4QJOYl988QUFBgaSQqGgZcuWUVNTk9Qhzaq6ujoCMO0yGo1ENHWMfdeuXeTn50dKpZKSk5Opv79f9Bp//PEHbdiwgRYuXEgeHh60ceNGGhkZkWA2M+duOQFAhYWFwpgbN27Q5s2bycvLi9zc3GjdunV06dIl0etcuHCB9Ho9qVQq0mg0tHXrVrp58+Ycz2Zmbdq0iYKCgkihUJCPjw8lJycLxRuR8+blbu4s4Jw1N+vXryd/f39SKBT0yCOP0Pr160XfdeaseSEi+uGHHyg6OpqUSiUtWbKECgoKRP3OugcTEVVVVRGAafMlmp9rRkZENDvv7THGGGOMsdnA98AxxhhjjDkYLuAYY4wxxhwMF3CMMcYYYw6GCzjGGGOMMQfDBRxjjDHGmIPhAo4xxhhjzMFwAccYY4wx5mC4gGOMMcYYczBcwDHGmIRkMhlKS0ulDoMx5mC4gGOMOa2MjAzIZLJpV1pamtShMcbYPcmlDoAxxqSUlpaGwsJCUZtSqZQoGsYYuz/8DhxjzKkplUpotVrR5eXlBWDq402z2Qy9Xg+VSoXFixfj8OHDop/v7u7Gc889B5VKhUWLFiEzMxOjo6OiMfv370dUVBSUSiX8/f2Rk5Mj6r969SrWrVsHNzc3hIWFoaysTOj7888/YTAY4OPjA5VKhbCwsGkFJ2PM+XABxxhj97Br1y6kp6ejs7MTBoMBr776Kvr6+gAAY2NjSE1NhZeXF06ePIni4mIcO3ZMVKCZzWaYTCZkZmaiu7sbZWVlCA0NFf2O999/H6+88gq6urqwevVqGAwGDA0NCb+/t7cXFRUV6Ovrg9lshkajmbsEMMbmJ2KMMSdlNBppwYIF5O7uLrr27NlDREQAKCsrS/QziYmJlJ2dTUREBQUF5OXlRaOjo0L/0aNHycXFhaxWKxERBQQE0M6dO/81BgD07rvvCs9HR0cJAFVUVBAR0fPPP08bN26cmQkzxh4YfA8cY8ypPfvsszCbzaI2b29v4bFOpxP16XQ6dHR0AAD6+voQGxsLd3d3oT8pKQl2ux39/f2QyWT4/fffkZycfM8YYmJihMfu7u7w8PCAzWYDAGRnZyM9PR2nTp3CqlWrsHbtWixfvvx/mitj7MHBBRxjzKm5u7tP+0hzpqhUqvsa5+rqKnouk8lgt9sBAHq9HoODgygvL0d1dTWSk5NhMpnw8ccfz3i8jDHHwffAMcbYPTQ1NU17HhERAQCIiIhAZ2cnxsbGhP6Ghga4uLggPDwcDz/8MIKDg1FTU/N/xeDj4wOj0YiioiJ8+umnKCgo+L9ejzHm+PgdOMaYUxsfH4fVahW1yeVy4aBAcXExEhISsGLFChw8eBAtLS3Yt28fAMBgMCAvLw9GoxG7d+/GlStXsGXLFrz22mvw8/MDAOzevRtZWVnw9fWFXq/HyMgIGhoasGXLlvuK77333kN8fDyioqIwPj6OI0eOCAUkY8x5cQHHGHNqlZWV8Pf3F7WFh4fj559/BjB1QtRisWDz5s3w9/fHoUOHEBkZCQBwc3NDVVUVcnNz8dRTT8HNzQ3p6enYu3ev8FpGoxF///03PvnkE7z99tvQaDR46aWX7js+hUKBHTt24MKFC1CpVFi5ciUsFssMzJwx5shkRERSB8EYY/ORTCZDSUkJ1q5dK3UojDEmwvfAMcYYY4w5GC7gGGOMMcYcDN8Dxxhj/4LvMGGMzVf8DhxjjDHGmIPhAo4xxhhjzMFwAccYY4wx5mC4gGOMMcYYczBcwDHGGGOMORgu4BhjjDHGHAwXcIwxxhhjDoYLOMYYY4wxB/MfmSabGIcxyLAAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 700x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(7, 4))\n",
    "\n",
    "plt.plot(np.array(train_losses), label='Train Loss', marker='o', color='#25599c', markersize=1)\n",
    "\n",
    "plt.xlabel('Epochs')\n",
    "plt.ylabel('Loss')\n",
    "plt.title('Training Loss Over Epochs')\n",
    "plt.yscale('log')\n",
    "\n",
    "plt.legend()\n",
    "plt.grid(True, which='both', linestyle='--', linewidth=0.5) \n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9e76c49e-0b1f-4da9-83f2-53e6006dc07f",
   "metadata": {},
   "source": [
    "We notice abrupt peaks on the epochs during which we perform an extension of the grid."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a7225036-ca72-4f4b-8e65-156044999d8d",
   "metadata": {},
   "source": [
    "### With Adaptive State Transition"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fbc528b5-49fe-4dfd-a77b-fa8b5c6c3bcf",
   "metadata": {},
   "source": [
    "We will now repeat the process, but also incorporate the adaptive state transition technique using the `adam_transition` method from `jaxkan.utils.general`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "815a1407-04e4-49a0-a3d5-ae8722a65e86",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Re-initialize the model\n",
    "model = KAN(layer_dims = layer_dims,\n",
    "            layer_type = 'base',\n",
    "            required_parameters = req_params,\n",
    "            seed = seed\n",
    "           )\n",
    "\n",
    "# Re-initialize the optimizer\n",
    "optimizer = nnx.Optimizer(model, opt_type)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "5c885ba9-f71c-4cdd-9a92-a228f4c7fd43",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 0: Performing grid update\n",
      "Epoch 200: Performing grid update\n",
      "Epoch 400: Performing grid update\n",
      "Epoch 600: Performing grid update\n"
     ]
    }
   ],
   "source": [
    "# Initialize train_losses\n",
    "train_losses = jnp.zeros((num_epochs,))\n",
    "\n",
    "for epoch in range(num_epochs):\n",
    "    # Check if we're in an update epoch\n",
    "    if epoch in grid_upds.keys():\n",
    "        print(f\"Epoch {epoch}: Performing grid update\")\n",
    "        # Get grid size\n",
    "        G_new = grid_upds[epoch]\n",
    "        # Perform the update\n",
    "        model.update_grids(X_train, G_new)\n",
    "        # Instead of simply resetting the optimizer, we perform the update\n",
    "        # -----------------------------------------------------------------\n",
    "        # First, we get the new model's state\n",
    "        _, model_state = nnx.split(model)\n",
    "        # Then we pass the optimizer's state to the method\n",
    "        old_state = optimizer.opt_state\n",
    "        adam_transition(old_state, model_state)\n",
    "        # -----------------------------------------------------------------\n",
    "        \n",
    "    # Calculate the loss\n",
    "    loss = train_step(model, optimizer, X_train, y_train)\n",
    "    \n",
    "    # Append the loss\n",
    "    train_losses = train_losses.at[epoch].set(loss)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "140a3829-96a4-427b-8fcc-d7a44b53a3d8",
   "metadata": {},
   "source": [
    "Let's evaluate this version of the model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "6ae5b2a0-3283-4dac-80f3-0d4cd1d514ce",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The MSE of the fit is 0.00399\n"
     ]
    }
   ],
   "source": [
    "y_pred = model(X_test)\n",
    "mse = mean_squared_error(y_pred, y_test)\n",
    "\n",
    "print(f\"The MSE of the fit is {mse:.5f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d5e41243-477e-4bde-bfa0-3eb7206eef32",
   "metadata": {},
   "source": [
    "It appears that the final MSE is lower than the corresponding MSE from the previous case.\n",
    "\n",
    "Let's also visualize the corresponding training loss curve."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "71a170d2-a568-440f-86f5-d638dfa278fd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(7, 4))\n",
    "\n",
    "plt.plot(np.array(train_losses), label='Train Loss', marker='o', color='#25599c', markersize=1)\n",
    "\n",
    "plt.xlabel('Epochs')\n",
    "plt.ylabel('Loss')\n",
    "plt.title('Training Loss Over Epochs')\n",
    "plt.yscale('log')\n",
    "\n",
    "plt.legend()\n",
    "plt.grid(True, which='both', linestyle='--', linewidth=0.5) \n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "304b1b5f-e09f-4211-94ec-81d39958beb4",
   "metadata": {},
   "source": [
    "The spikes have disappeared.\n",
    "\n",
    "**NOTE**: This is an effect that is heavily dependent on the chosen grid sizes as well as the learning rate, so the adaptive update might not always work \"out of the box\" as in this case. In other cases, the user may also need to experiment with learning rate schedulers or different grid size configurations "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "af1efeb2-4127-4db8-8c31-ffd74d869850",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
